【问题标题】:Replacing a specific string in java替换java中的特定字符串
【发布时间】:2018-10-16 05:47:12
【问题描述】:

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

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

输入: hellol lol

代码输出: hellaugh out loud laugh out loud

预期输出: hellol laugh out loud

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

【问题讨论】:

  • 你为什么不做inputString.replace
  • 它是正确的。你必须检查你的输出。结果字符串为hellaugh out loud laugh out loud
  • 您的测试字符串中有两个lol。两个都换了。它可以正常工作。
  • 您忽略了这样一个事实,即大声笑必须在前面加上空格才能被视为替换候选者
  • @CharlesShiller 您将获得与该代码相同的输出。

标签: java string replace


【解决方案1】:

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-11-20
    • 1970-01-01
    • 2017-04-10
    • 1970-01-01
    • 2012-08-09
    相关资源
    最近更新 更多