如何在Java中索引String中的特定单词?

时间:2016-10-27 19:34:36

标签: java regex

我想替换Java String中特定单词的所有出现。例如,我想用cat替换以下字符串中的所有cat。我试图通过将模式设置为\\bcat\\b来实现正则表达式,但是当像下划线这样的非字母数字字符围绕它时,它似乎不起作用。

cat catabolic_cat_4cat,6cat

如何制作正则表达式以排除单词周围的所有非字母数字字符并输出这样的刺痛: c*t catabolic_c*t_4cat,6cat

2 个答案:

答案 0 :(得分:1)

您可以将单词边界字符类替换为您自己制作的类,并且(根据Andreas的建议)使用外观来防止在替换中捕获周围的字符。

(?<=^|[^a-zA-Z0-9])cat(?=[^a-zA-Z0-9]|$)

答案 1 :(得分:-1)

如何使用内置的String函数使代码更清晰:

 String.replaceAll("oldText","newText");