java - 如何只替换标记,没有子字符串?

标签 java regex replace

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

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

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

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

如何只替换“完整单词”?

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

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

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

最佳答案

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

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

例子:

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

打印1 | AB & C | 1

关于java - 如何只替换标记,没有子字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15816800/

相关文章:

java - 标准 API : Using the Criteria API to Create Queries documentation

java - 设置具有不同背景颜色的区分工具提示 (Java)

php - Preg_replace str 如果不是紧跟着 str

javascript - 正则表达式 : Using a negative look ahead for the nonsupported negative look behind and capturing the look behind characters upon split

java - 正则表达式从字符串中检索最后一位数字并对它们进行排序

PHP用数组变量替换字符串中的{var ['key' ]}

java - 如何过滤以 jtextfield 中键入的字符开头的 jtable 行

selenium webdriver 中的 Java else if 语句 - 阴性测试

regex - Emacs query-replace-regexp with html

c# - C# .NET 中的字符串替换