Convert java string to string compatible with a regex in replaceAll

14,609

Solution 1

You can use Pattern.quote("$money").

Solution 2

Prepend the \\Q in front of the string, and \\E at the end:

"\\Q$money\\E"

This tells the regex engine that the string between \Q and \E must be interpreted verbatim, ignoring any metacharacters that it may contain.

Share:
14,609
Kevin Colin
Author by

Kevin Colin

Updated on June 30, 2022

Comments

  • Kevin Colin
    Kevin Colin almost 2 years

    Is there a library or any easy way to convert a string and make sure its compatible as a regex to look for and replace in another string. So if the string is "$money" it would get converted to "\$money". I tried using StringEscapeUtil.escape but it doesn't work with characters such as $.