【问题标题】:What method should I use to replace text within a String我应该使用什么方法来替换字符串中的文本
【发布时间】:2011-02-24 08:20:29
【问题描述】:

我有以下字符串:

str = "kishore kumar venkata"

我想用“kishore tamire venkata”替换这个字符串。

用于此的字符串方法是什么?有人能解释一下更换的程序吗?

【问题讨论】:

    标签: java string replace


    【解决方案1】:

    使用的方法是(不足为奇)String.replace:

    str = str.replace("kumar", "tamire");
    

    注意,由于String是不可变的,所以原始字符串没有改变,该方法返回的是修改后的字符串。

    【讨论】:

      【解决方案2】:

      对于简单的替换,您可以使用 String.replace(...),正如 Péter 已经建议的那样。但是,请注意 replace(...) 也会导致字符串中的子字符串 kumar 被替换:

      "kishore kumaraa venkata"
               ^^^^^
      

      如果您希望这种情况发生,您可以使用String.replaceAll(...) 并提供正则表达式模式:

      \bkumar\b
      

      其中\b 表示单词边界。

      演示:

      String str = "kishore kumaraa kumar venkata";
      String rep = str.replaceAll("\\bkumar\\b", "tamire");
      System.out.println(str+"\n"+rep);
      

      将打印:

      kishore kumaraa kumar venkata
      kishore kumaraa tamire venkata
      

      【讨论】:

        猜你喜欢
        • 2010-10-27
        • 1970-01-01
        • 1970-01-01
        • 2019-06-23
        • 1970-01-01
        • 2013-08-21
        • 1970-01-01
        • 2015-07-15
        • 2015-10-09
        相关资源
        最近更新 更多