这只是我尝试完成的事情的示例代码。
String s = "hello(1234aA)something";
String replaceString = "(1234aa)";
String s2 = s.replaceAll("(i?)" + replaceString, "something");
字符串s将是相同的,但大小写可能不同,这就是我在replaceall中使用(i?)的原因。 我怎样才能让正则表达式忽略特殊
最佳答案
使用quote()
,看来你已经弄清楚了忽略情况,但你应该使用 (?i),而不是 (i?)。
String s = "hello(1234aA)something";
String replaceString = "(?i)" + Pattern.quote("(1234aa)");
String s2 = s.replaceAll(replaceString, "something");
这应该有效。
关于Java Replaceall 忽略大小写和特殊字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9443669/