我想用正则表达式替换另一个字符串的特定出现

时间:2014-12-05 05:46:06

标签: java regex

我有一个像“100MW和50兆瓦”的字符串。我想使用正则表达式来查找所有出现的“MW”并将其替换为“Hi”。所以最终结果应该看起来像“100Hi和50他的”。

我尝试使用replaceAll(),但我找不到想要的结果。

有什么建议吗?

3 个答案:

答案 0 :(得分:1)

replaceAll函数不会修改它所使用的字符串,因为字符串是不可变的。它的作用是返回带有修改的新字符串。只需将函数的返回值重新分配给字符串,如下所示:

String myString = "100MW and 50 MWs";
myString = myString.replaceAll("MW","Hi");

答案 1 :(得分:1)

您只需使用replace代替replaceAll即可。 replaceAll函数将regex作为第一个参数。你实际上并不需要正则表达式。

String str = "100MW and 50 MWs";
str = str.replace("MW", "Hi");
System.out.println(str);

请注意,字符串在java中是不可变的。因此,您需要进行替换并将结果分配回上面的相同变量。

输出:

100Hi and 50 His

答案 2 :(得分:0)

看起来非常简单。请尝试下面的代码

String str = "100MW and 50 MWs";
System.out.println(str.replaceAll("MW", "Hi"));