我有以下代码
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 =>西拉然后什么
答案 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("=>", "=>"));