如何在java中替换字符串
我有以下代码如何在java中替换字符串,java,string,replace,Java,String,Replace,我有以下代码 String rplaceString="John = Max and Jing => Sira then nothing"; String replaced=rplaceString.replace("=", "==").replace("=>", "=>"); System.out.println("REPLACE STRINF==>>>>>>>>"+replaced); 预期的输出字符串如下所示: 如果我使用
String rplaceString="John = Max and Jing => Sira then nothing";
String replaced=rplaceString.replace("=", "==").replace("=>", "=>");
System.out.println("REPLACE STRINF==>>>>>>>>"+replaced);
预期的输出字符串如下所示:
如果我使用上述方法,则输出如下所示:
替换STRINF==>>>>>>>John==Max和Jing==>Sira,然后什么都不做
那么,如何替换预期字符串中的上述字符串
编辑:像这样更改字符串:John=Max和Jing=>Sira然后什么都不做
或
John=Max和Jing=>Sira然后什么都没有
或
John=Max和Jing=>Sira那么什么都没有解决这个问题的一个简单方法就是在替换中的
=
周围添加空格:
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);
String s=“John=Max and Jing=>Sira then nothing”;
字符串t=s.replaceAll(“(?)”,“=”;
t=t.replaceAll(“=>”,“=>”).replaceAll(“\\s+”,”);
系统输出打印ln(t);
如果在=
符号后始终保证有空格,则可以使用
String replaced=rplaceString.replace("= ", "== ").replace("=>", "=>");
请注意,在替换时,我在
'='
符号后面加了一个空格作为'='
。预期输出是什么?您没有看到,预期输出:John==Max和Jing=>Sira然后nothing
@javanewuser删除所有不相关的垃圾(这不是预期/实际结果的一部分)并将输出相互对齐,并将焦点吸引到特定问题上。通过这样做,您可能会发现问题所在。您可以使用replaceFirst()字符串方法的文档如下:太棒了!很高兴听到。如果你能接受这个答案,我将不胜感激。等等,布莱恩,接受答案需要一些时间。我的错。不应该这么着急:DBryan,如果有人这样更改字符串:John=Max和Jing=>Sira,那怎么办呢?让我直截了当地说,John=Max和Jing=>Sira然后nothing
就是要转换为预期输出的字符串John==Max和Jing=>Sira然后nothing
String rplaceString = "John = Max and Jing => Sira then nothing";
System.out.println(rplaceString.replaceAll(" = ", " == ").replaceAll("=>", "=>"));
String rplaceString = "John = Max and Jing => Sira then nothing";
System.out.println(rplaceString.replaceAll(" = ", " == ").replaceAll("=>", "=>"));