Java - 字符串替换精确单词
String x = "axe pickaxe";
x = x.replace("axe", "sword");
System.out.print(x);
通过此代码,我试图将确切的单词替换为.但是,如果我运行它,它会打印,而我只想打印,因为它包含它,这是一个不同的词。我该如何解决这个问题?谢谢axe
sword
sword picksword
sword pickaxe
pickaxe
axe
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"));
必须对边界符号的反斜杠进行转义,因此需要双反斜杠。
在要替换的单词之前和之后包括单词边界。
String x = "axe pickaxe axe";
x = x.replaceAll("\\baxe\\b", "sword");
System.out.print(x);
编辑输出
sword pickaxe sword