String str = "aabbCCdd";
如何判断是否存在大写字母 和 我想替换大写字母成"!"该怎么样做呢

解决方案 »

  1.   

    通过角标先遍历出每个字符的Unicode代码点
    str.codePointAt()
    小写97-122
    大写65-90
    以上条件进行判断
    使用replace(CharSequence target, CharSequence replacement) 加正则表达式匹配进行替换  ...
      

  2.   


    怎么找出来啊?一个一个的找?
    str.codePointAt(int index)???
      

  3.   


    import java.util.regex.Matcher;
    import java.util.regex.Pattern;public class JudgeUpperOrLower {
    public static void main(String[] args) {
                 String str="aabbCCdd";
                 Matcher m=Pattern.compile("[A-Z]").matcher(str);
                 while(m.find()) {
                  System.out.println(m.group()+"---"+m.start()+"---"+m.end());
                 }
    }}
    测试结果:C---4---5
    C---5---6
      

  4.   

    String str = "aabbCCdd";
    if (str.matches(".*[A-Z].*"))
    System.out.println("此字符串包含大写字母。");
    else
    System.out.println("此字符串不包含大写字母。");
    System.out.println(str.replaceAll("[A-Z]", "!"));
      

  5.   

    三楼方法好~!在循环里面加上str =  str.replace(m.group(), "!"); 即可
      

  6.   

    System.out.println("aabbCCdd".replaceAll("[A-Z]", "!")); 
      

  7.   

    System.out.println("aabbCCdd".replaceAll("[A-Z]", "!"));