使用replace替换字符串中的字母?

Arc*_*ect 3 java replace

我想知道我是否可以string.replace()用来替换字符串中的所有字母?

String sentence = "hello world! 722"
String str = sentence.replace("what to put here", "@");
//now str should be "@@@@@ @@@@@! 722"
Run Code Online (Sandbox Code Playgroud)

换句话说,我如何表示字母字符?

除非太长,否则也欢迎替代品.

acd*_*ior 9

Java String#replaceAll使用正则表达式字符串作为参数.塔虽这么说,[a-ZA-Z]任何字符从匹配az(小写),并AZ(大写),这似乎是你所需要的.

String sentence = "hello world! 722";
String str = sentence.replaceAll("[a-zA-Z]", "@");
System.out.println(str); // "@@@@@ @@@@@! 722"
Run Code Online (Sandbox Code Playgroud)

在这里演示.


Mar*_*oun 6

使用String#replaceAll它需要一个正则表达式:

str = str.replaceAll("[a-zA-Z]", "@");
Run Code Online (Sandbox Code Playgroud)

请注意,String#replace将String作为参数而不是Regex.如果您仍想使用它,则应循环使用String char-by-char并检查此char是否在[az]或[AZ]范围内并替换@.但如果它不是一个功课,你可以replaceAll使用它,使用它:)