Java-字符串替换确切的单词
问题内容:
String x = "axe pickaxe";
x = x.replace("axe", "sword");
System.out.print(x);
通过这个代码,我试图取代确切的词axe
用sword
。但是,如果运行此命令,它将仅sword picksword
在我希望打印时打印sword pickaxe
,这与包含它的pickaxe
单词不同axe
。我怎样才能解决这个问题?谢谢
问题答案:
使用带有单词边界
的正则表达式\b
:
String s = "axe pickaxe";
System.out.println(s.replaceAll("\\baxe\\b", "sword"));
边界符号的反斜杠必须转义,因此为双反斜杠。