replaceAll,如何更改字母

时间:2014-01-14 12:31:36

标签: java string replaceall

我需要什么而不是“”用*?

替换所有字母
public static void main(String[] args) {
    String s = "Tere, TULNUKAS, 1234!";
    String t = asenda(s); // "****, ********, 12345!" <---- example 
}

public static String asenda(String s) {
    return s.replaceAll("", "*");
}    

谢谢!

3 个答案:

答案 0 :(得分:4)

你必须使用正则表达式:

return s.replaceAll("[a-zA-z]", "*")

答案 1 :(得分:2)

对于每个字母,您可以使用[a-zA-Z]正则表达式

例如:

public static String asenda(String s) {
    return s.replaceAll("[a-zA-Z]", "*");
} 

答案 2 :(得分:2)

支持unicode字符的正确解决方案是

public static String asenda(String s) {
    return s.replaceAll("\\p{L}", "*");
}
  

您可以将属于“字母”类别的单个字符与\p{L}匹配。

来源:Unicode Regular Expressions/Unicode Categories

更多信息: