我有一个代表正则表达式的变量,当运行replaceAll时,没有任何字符串被替换。请帮忙看看。
String s = "Issue 3 for 5 describe the title";
String regex = "Issue\\s\\d+\\sfor\\s\\d+";
System.out.println(s.replaceAll(regex, "test"));
答案 0 :(得分:0)
replaceAll
会返回修改后的String
,但它不会修改原始String
,因为Java中的String
是不可变的。
你需要:
String resultString = s.replaceAll(regex, "test")
System.out.println(resultString);
答案 1 :(得分:0)
Java String是不可变的。
如果您想更改字符串s
,请使用以下命令:
s = s.replaceAll(regex, "test"));
答案 2 :(得分:0)
这可能是因为在您的代码中您必须双重逃避正则表达式,但在xml中您不会:
String regex = "Issue\\s\\d+\\sfor\\s\\d+";
等同于解析的
<regex>Issue\s\d+\sfor\s\d+</regex>