我正在编写一个程序,其中一部分需要替换部分字符串而不删除重复项,因此我使用的replaceFirst()无法正常工作.
INPUT:
lock: "O_2_^-^"
str: " O_2_^-^ "
Run Code Online (Sandbox Code Playgroud)
码:
System.out.println(str);
System.out.println(lock);
System.out.println(str.contains(lock));
str = str.replaceFirst(lock, "");
System.out.println(str);
Run Code Online (Sandbox Code Playgroud)
OUTPUT:
O_2_^-^
O_2_^-^
true
O_2_^-^
Run Code Online (Sandbox Code Playgroud)
以上是我程序的实际输出.虽然replace()方法对我目前的情况不起作用,但我测试了它并且输出完全不同,正确无误.
INPUT:
lock: "O_2_^-^"
str: " O_2_^-^ "
Run Code Online (Sandbox Code Playgroud)
码:
System.out.println(str);
System.out.println(lock);
System.out.println(str.contains(lock));
str = str.replace(lock, "");
System.out.println(str);
Run Code Online (Sandbox Code Playgroud)
OUTPUT:
O_2_^-^
O_2_^-^
true
//empty line of output because string was detected and removed.
Run Code Online (Sandbox Code Playgroud)
我已经尝试过编写自己的replaceFirst()方法之外的所有内容,如果有人有任何建议或输入那么好.谢谢!
replaceFirst(String regex, String replacement) 将regex作为参数,使用:
String lock = "O_2_\\^-\\^";
Run Code Online (Sandbox Code Playgroud)
String lock = "O_2_\\^-\\^";
String str = " O_2_^-^ ";
System.out.println(str);
System.out.println(lock);
System.out.println(str.contains(lock));
str = str.replaceFirst(lock, "");
System.out.println(str);
Run Code Online (Sandbox Code Playgroud)
OUTPUT:
O_2_^-^
O_2_\^-\^
false
Run Code Online (Sandbox Code Playgroud)