【发布时间】:2011-02-24 08:20:29
【问题描述】:
我有以下字符串:
str = "kishore kumar venkata"
我想用“kishore tamire venkata”替换这个字符串。
用于此的字符串方法是什么?有人能解释一下更换的程序吗?
【问题讨论】:
我有以下字符串:
str = "kishore kumar venkata"
我想用“kishore tamire venkata”替换这个字符串。
用于此的字符串方法是什么?有人能解释一下更换的程序吗?
【问题讨论】:
使用的方法是(不足为奇)String.replace:
str = str.replace("kumar", "tamire");
注意,由于String是不可变的,所以原始字符串没有改变,该方法返回的是修改后的字符串。
【讨论】:
对于简单的替换,您可以使用 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
【讨论】: