我有以下代码
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";如果我这样做,输出如下所示:
取代STRINF==>>>>>>>>John == Max和静==> Sira就什么都没有了
那么,如何在预期的字符串中替换上面的字符串。
编辑:更改字符串如下:John =Max和静=> Sira,然后nothing
或
John= Max和静=>Sira nothing
或
John=Max和静=> Sira那就没什么了
发布于 2014-05-30 04:28:50
解决此问题的一个简单方法是在替换中添加=周围的空格:
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);发布于 2014-05-30 04:35:41
如果始终在=符号之后保证空格,则可以使用
String replaced=rplaceString.replace("= ", "== ").replace("=>", "=>");请注意,在替换时,我在'='签名后添加了一个空格作为'= '。
发布于 2014-05-30 04:41:19
String rplaceString = "John = Max and Jing => Sira then nothing";
System.out.println(rplaceString.replaceAll(" = ", " == ").replaceAll("=>", "=>"));https://stackoverflow.com/questions/23947012
复制相似问题