String.replaceAll()
或 String.split()
的调用。
正则表达式元字符为 .$|()[{^?*+\
之一。 它们在正则表达式中有特殊的含义。
例如,调用 "ab.cd".replaceAll(".", "-")
将生成 "-----"
,因为点匹配任意字符。
很可能本意是转义变体 "\\."
。
还报告了将 File.separator
用作正则表达式的情况。 File.separator
具有平台特定的值。 它在 Linux 和 Mac 上等于 /
,而在 Windows 上等于 \
,这不是一个有效的正则表达式,因此这样的代码无法移植。
示例:
s.replaceAll(".", "-");
在应用快速修复后:
s.replaceAll("\\.", "-");