如何在java中替换字符串

时间:2014-05-30 04:24:45

标签: java string replace

我有以下代码

String rplaceString="John = Max and Jing => Sira then nothing";
String replaced=rplaceString.replace("=", "==").replace("=>", "=>");
System.out.println("REPLACE STRINF==>>>>>>>>"+replaced);

预期输出字符串像这样:

String expectedString="John == Max and Jing => Sira then nothing";

如果我执行上述方法,输出看起来像:

  

REPLACE STRINF ==>>>>>>>>> John == Max and Jing ==>西拉然后没什么

那么,如何在预期的字符串中替换上面的字符串。

编辑更改字符串,如下所示: John = Max和Jing =>西拉然后什么

John = Max和Jing => Sira然后什么

John = Max和Jing =>西拉然后什么

3 个答案:

答案 0 :(得分:8)

解决问题的一种简单方法是在替换中的=周围添加空格:

String replaced=rplaceString.replace(" = ", " == ")

然后你只会匹配独立的=而不是箭头。

编辑:

更全面的答案:

String s = "John=Max and Jing=>Sira then nothing";

String t = s.replaceAll("(?<=.)=(?!>)"," == ");
t = t.replaceAll("=>", " => ").replaceAll("\\s+", " ");
System.out.println(t);

答案 1 :(得分:0)

如果在=符号后始终保证空格,则可以使用

String replaced=rplaceString.replace("= ", "== ").replace("=>", "=>");

请注意,我在替换'='后添加'= '符号作为{{1}}。

答案 2 :(得分:0)

String rplaceString = "John = Max and Jing => Sira then nothing";
    System.out.println(rplaceString.replaceAll(" = ", " == ").replaceAll("=>", "=>"));