1

我正在寻找一种仅替换完整标记而不是标记子串的方法,例如:

String test = "a | ab & c | a";

现在我想用其他任何东西替换“a”,但这应该只替换“a”,而不是“ab”。

test.replace("a", "1"); //would result: "1 | 1b & c | 1"

我怎样才能只替换“完整的单词”?

顺便说一下,特殊字符“|”之间的标记替换 或“&”来自:

\\s*[|&][|&\\s]*

这是我将它们分开的正则表达式。也许我可以再次使用这个正则表达式来替换??

4

2 回答 2

5

您可以使用带有单词边界 ( \b) 的正则表达式,它只会替换 "isolated" as:

test.replaceAll("\\ba\\b", "1");

例子:

String test = "a | ab & c | a";
System.out.println(test.replaceAll("\\ba\\b", "1"));

打印1 | ab & c | 1

于 2013-04-04T16:38:38.057 回答
0

怎么样test.replaceFirst("a", "1");

于 2013-04-04T16:37:03.067 回答