mem*_*und 1 java regex replace
我正在寻找一种方法来替换完整的令牌,而不是替换令牌的子串,例如:
String test = "a | ab & c | a";
Run Code Online (Sandbox Code Playgroud)
现在我想用其他任何东西替换"a",但这应该只替换"a"而不是"ab".
test.replace("a", "1"); //would result: "1 | 1b & c | 1"
Run Code Online (Sandbox Code Playgroud)
我怎样才能取代"全字"?
顺便说一句,更换特殊字符"|"之间的标记 或"&"来自:
\\s*[|&][|&\\s]*
Run Code Online (Sandbox Code Playgroud)
这是我将它们分开的正则表达式.也许我可以再次使用这个正则表达式替换?
你可以使用带有单词边界(\b)的正则表达式,它只会替换"孤立的" a:
test.replaceAll("\\ba\\b", "1");
Run Code Online (Sandbox Code Playgroud)
例:
String test = "a | ab & c | a";
System.out.println(test.replaceAll("\\ba\\b", "1"));
Run Code Online (Sandbox Code Playgroud)
打印1 | ab & c | 1.