使用replace替换字符串中的字母?
我想知道我是否可以使用string.replace()
替换字符串中的所有字母?
String sentence = "hello world! 722" String str = sentence.replace("what to put here", "@"); //now str should be "@@@@@ @@@@@! 722"
换句话说,我如何表示字母字符?
除非太长,否则也欢迎替代品。
Java的String#replaceAll
将正则表达式字符串作为参数。 据说, [a-ZA-Z]
匹配从a
到z
(小写)和A
到Z
(大写)的任何字符,这似乎是你需要的。
String sentence = "hello world! 722"; String str = sentence.replaceAll("[a-zA-Z]", "@"); System.out.println(str); // "@@@@@ @@@@@! 722"
在这里看演示 。
使用带有正则表达式的 String#replaceAll
:
str = str.replaceAll("[a-zA-Z]", "@");
请注意, String#replace
将String作为参数而不是Regex 。 如果您仍想使用它,则应循环使用String char-by-char并检查此char是否在[az]或[AZ]范围内, 并将其替换为@
。 但如果它不是作业,你可以使用replaceAll
,使用它:)
您可以使用以下(正则表达式):
String test = "hello world! 722"; System.out.println(test); String testNew = test.replaceAll("(\\p{Alpha})", "@"); System.out.println(testNew);
你可以在这里阅读所有相关内容: http : //docs.oracle.com/javase/tutorial/essential/regex/index.html