Java 我应该使用什么方法替换字符串中的文本

Java 我应该使用什么方法替换字符串中的文本,java,string,replace,Java,String,Replace,我有以下字符串: str = "kishore kumar venkata" 我想用“kishore-tamire-venkata”替换这个字符串 用于此目的的字符串方法是什么?有人能解释一下更换的步骤吗?使用的方法(毫不奇怪): 请注意,由于String是不可变的,因此原始字符串不会更改,而该方法将返回修改后的字符串。要使用的方法是(毫不奇怪): 请注意,由于String是不可变的,因此原始字符串不会更改,该方法将返回修改后的字符串。对于简单的替换,您可以使用String.replace(…

我有以下字符串:

str = "kishore kumar venkata"
我想用“kishore-tamire-venkata”替换这个字符串

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

使用的方法(毫不奇怪):

请注意,由于
String
是不可变的,因此原始字符串不会更改,而该方法将返回修改后的字符串。

要使用的方法是(毫不奇怪):


请注意,由于
String
是不可变的,因此原始字符串不会更改,该方法将返回修改后的字符串。

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

"kishore kumaraa venkata"
         ^^^^^
如果不希望发生这种情况,可以使用
字符串.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

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

"kishore kumaraa venkata"
         ^^^^^
如果不希望发生这种情况,可以使用
字符串.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