我想用反斜杠(#)转义给定 Java 字符串中的不同字符(
变为 #、$、%、&、\、^、_、{、}、~
) \#
,$
变为 \$
等等)。
是否可以在不对字符串多次调用 String#replace
或 String#replaceAll
方法的情况下实现此目的?
最佳答案
您可以使用以下正则表达式
String escaped = s.replaceAll("[" + Pattern.quote("#$%&\\^_{}~") + "]",
Matcher.quoteReplacement("\\")+"$0")
关于java - 转义字符串中的多个不同字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42748788/