1

有没有一种更简单的方法可以用另一个字符(如点)替换小写字母,我目前正在使用此代码

        s = s.replace("a", ".");s = s.replace("b", ".");s = s.replace("c", ".");s = s.replace("d", ".");s = s.replace("e", ".");s = s.replace("f", ".");s = s.replace("g", ".");s = s.replace("h", ".");s = s.replace("i", ".");s = s.replace("j", ".");s = s.replace("k", ".");s = s.replace("l", ".");s = s.replace("m", ".");s = s.replace("n", ".");s = s.replace("o", ".");s = s.replace("p", ".");s = s.replace("q", ".");s = s.replace("r", ".");s = s.replace("s", ".");s = s.replace("t", ".");s = s.replace("u", ".");s = s.replace("v", ".");s = s.replace("w", ".");s = s.replace("x", ".");s = s.replace("y", ".");s = s.replace("z", ".");
4

4 回答 4

9

您可以使用String#replaceAll()方法以更简单的方式执行此操作,该方法将正则表达式作为第一个参数:-

s = s.replaceAll("[a-z]", ".");

[a-z]是一个字符类,range它匹配从ato 的每个字符z。因此,所有小写字母都替换为.

于 2012-11-25T18:24:27.267 回答
2

在 String 方法的 4 种变体中replace(),您可以下注replaceAll()

例如:

public class Replace {

    public static void main(String[] args){


        String s = "HELLO THIs Is a BIG gAme";

        System.out.println(s.replaceAll("[a-z]","." ));
    }

}
于 2012-11-25T18:30:14.763 回答
1

使用正则表达式进行替换。

   s.replaceAll("[a-z]",".");
于 2012-11-25T18:26:13.473 回答
1

旧样式替换:

public class Replace{   
public static void main(String[] args) {
    String s= "HEllo WOrlD";
    char replacement='.';

    char[] c =s.toCharArray();

    for(int i =0;i<s.length();i++) {
        for(int j=97;j<=122;j++) {
            if(s.charAt(i)==j)
                c[i]=replacement;
        }
    }

    System.out.println(s);      
    System.out.println(String.valueOf(c));  
}
} 
于 2012-11-25T18:38:40.447 回答