转义字符串中的多个不同字符

sms*_*eck 0 java

我想#, $, %, &, \, ^, _, {, }, ~在给定的 Java 字符串中用反斜杠(#变成\#$变成\$等等)转义不同的字符()。

是否可以在不对字符串多次调用String#replaceorString#replaceAll方法的情况下进行归档?

Har*_*ebe 5

您可以使用以下正则表达式

String escaped = s.replaceAll("[" + Pattern.quote("#$%&\\^_{}~") + "]",
    Matcher.quoteReplacement("\\")+"$0")
Run Code Online (Sandbox Code Playgroud)