我想在给定字符串中替换内容(左右双下划线,请参阅代码),但无法使其工作。所以像这样:
String test = "Hello! This is the content: __content__";
test.replaceAll("__content__", "Yeah!");
System.out.println("Output: " + test);
所以输出应该是:"Output: Hello! This is the content: Yeah!"
replaceAll的第一个参数中的正则表达式是错误的,但我不知道正确的表达式。谁知道怎么做?
答案 0 :(得分:2)
您忘记将replaceAll
的返回值分配回原始字符串。 replaceAll
(或任何其他字符串方法)不会更改原始字符串:
String test = "Hello! This is the content: __content__";
test = test.replaceAll("__content__", "Yeah!");
System.out.println("Output: " + test);
顺便说一下,你甚至不需要正则表达式,只需使用replace
:
test = test.replace("__content__", "Yeah!");
答案 1 :(得分:2)
在Java字符串中是不可变的,因此replaceAll
不会修改字符串,但会返回一个新字符串。
答案 2 :(得分:1)
应该是:
String test = "Hello! This is the content: __content__";
test = test.replaceAll("__content__", "Yeah!");
System.out.println("Output: " + test);
replaceAll返回结果字符串!