String.replaceAll()
or String.split()
where the first argument is a single regex meta character argument.
The regex meta characters are one of .$|()[{^?*+\
. They have a special meaning in regular expressions.
For example, calling "ab.cd".replaceAll(".", "-")
produces "-----"
, because the dot matches any character.
Most likely the escaped variant "\\."
was intended instead.
Using File.separator
as a regex is also reported. The File.separator
has a platform specific value. It
equals to /
on Linux and Mac but equals to \
on Windows, which is not a valid regular expression, so
such code is not portable.
Example:
s.replaceAll(".", "-");
After the quick-fix is applied:
s.replaceAll("\\.", "-");