daw*_*623 5 java regex escaping
我想在字符串中转义转义序列.
例如:如果我有一个字符串,其内容是"\n\u0073",我需要逃避他们以这样的方式,如果我把它打印到命令行,我会看到
this:
\n\u0073
instead of:
s
Run Code Online (Sandbox Code Playgroud)
我也将转义双引号(")和反斜杠(\),我想出一个表达式来逃避已经:
Pattern p = Pattern.compile("([\"\\\\])");
String str = p.matcher("\"\n\u0073\\"").replaceAll("\\\\$1");
Run Code Online (Sandbox Code Playgroud)
这让我产生了:
\"
s\\
Run Code Online (Sandbox Code Playgroud)
但是,它不会处理转义序列.我想要的是:
\"\n\u0073\\
Run Code Online (Sandbox Code Playgroud)
我需要做哪些修改才能逃脱转义序列?
您可以使用StringEscapeUtils。escapeJava()上面有方法。不幸的是,在我看来,没有办法转义像\u0073这样的 unicode 文字,因此对于您的示例输入"\"\n\u0073\"",StringEscapeUtils.escapeJava("\"\n\u0073\"")将返回\"\ns\"
| 归档时间: |
|
| 查看次数: |
3788 次 |
| 最近记录: |