我正在编写一个程序,其中一部分需要替换部分字符串而不删除重复项,所以我使用的 replaceFirst() 无法正常工作。
输入:
lock: "O_2_^-^"
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);
输出:
O_2_^-^
O_2_^-^
true
O_2_^-^
以上是我的程序的真实输出。尽管 replace() 方法不适用于我目前的情况,但我确实对其进行了测试,并且输出完全不同,正如正确的那样。
输入:
lock: "O_2_^-^"
str: " O_2_^-^ "
代码:
System.out.println(str);
System.out.println(lock);
System.out.println(str.contains(lock));
str = str.replace(lock, "");
System.out.println(str);
输出:
O_2_^-^
O_2_^-^
true
//empty line of output because string was detected and removed.
如果有人有任何建议或输入,我已经尝试了编写自己的 replaceFirst() 方法之外的所有内容。谢谢!