Java-字符串替换确切的单词


问题内容
String x = "axe pickaxe";
x = x.replace("axe", "sword");
System.out.print(x);

通过这个代码,我试图取代确切的词axesword。但是,如果运行此命令,它将仅sword picksword在我希望打印时打印sword pickaxe,这与包含它的pickaxe单词不同axe。我怎样才能解决这个问题?谢谢


问题答案:

使用带有单词边界
的正则表达式\b

String s = "axe pickaxe";
System.out.println(s.replaceAll("\\baxe\\b", "sword"));

边界符号的反斜杠必须转义,因此为双反斜杠。