【发布时间】:2013-06-17 23:40:54
【问题描述】:
是否有库或任何简单的方法来转换字符串并确保其与正则表达式兼容,以便在另一个字符串中查找和替换。因此,如果字符串是“$money”,它将被转换为“\$money”。我尝试使用 StringEscapeUtil.escape,但它不适用于 $ 等字符。
【问题讨论】:
标签: java regex replace replaceall
是否有库或任何简单的方法来转换字符串并确保其与正则表达式兼容,以便在另一个字符串中查找和替换。因此,如果字符串是“$money”,它将被转换为“\$money”。我尝试使用 StringEscapeUtil.escape,但它不适用于 $ 等字符。
【问题讨论】:
标签: java regex replace replaceall
您可以使用Pattern.quote("$money")。
【讨论】:
在字符串前面添加\\Q,在末尾添加\\E:
"\\Q$money\\E"
这告诉正则表达式引擎\Q 和\E 之间的字符串必须逐字解释,忽略它可能包含的任何元字符。
【讨论】:
\\E 呢?