一尘不染

如何在Java中替换不区分大小写的文字子字符串

java

使用replace(CharSequence target, CharSequence replacement)String中的方法,如何使目标不区分大小写?

例如,它现在的工作方式:

String target = "FooBar";
target.replace("Foo", "") // would return "Bar"

String target = "fooBar";
target.replace("Foo", "") // would return "fooBar"

如何使它替换(或如果有更合适的方法)不区分大小写,以便两个示例都返回“ Bar”?


阅读 369

收藏
2020-03-22

共1个答案

一尘不染

String target = "FOOBar";
target = target.replaceAll("(?i)foo", "");
System.out.println(target);

输出:

Bar

值得一提的是,replaceAll将第一个参数视为正则表达式模式,这可能会导致意外结果。要解决此问题,请Pattern.quote按照注释中的建议使用。

2020-03-22