替换java中的特定字符串

替换java中的特定字符串,java,string,replace,Java,String,Replace,我在替换用户输入字符串中的特定字符串时遇到问题,但无法生成预期的输出 String inputString="hellol lol"; String result = inputString.replaceAll("lol", "laugh out loud"); System.out.println("Normal Form:" + result); 输入:hellol lol 代码输出:hellaugh out look out look out look out 预期输出:hellol大

我在替换用户输入字符串中的特定字符串时遇到问题,但无法生成预期的输出

String inputString="hellol lol";
String result = inputString.replaceAll("lol", "laugh out loud");
System.out.println("Normal Form:" + result);
输入:
hellol lol

代码输出:hellaugh out look out look out look out

预期输出:
hellol大声大笑

我该如何解决这个问题?谢谢。

replaceAll()
方法使用正则表达式查找匹配项并替换它们。适当的正则表达式将完成您的工作。将
\\blol\\b
用作正则表达式

inputString.replaceAll("\\blol\\b", "laugh out loud");

这里的
\\b
是有助于识别
lol
标记的单词边界

为什么不执行
inputString。替换
?它工作正常。你必须检查你的输出。结果字符串是
hellaugh look out look out look
测试字符串中有两个
lol
。两者都会被替换。你忽略了lol前面必须有空格才能被视为替换的事实candidate@CharlesShiller对于该代码,您将获得相同的输出。