gpt4 book ai didi

java - 在字符串中使用反斜杠作为前缀特殊字符

转载 作者:行者123 更新时间:2023-12-02 01:22:32 24 4
gpt4 key购买 nike

是否有更简单的方法在特殊字符前加上\前缀例如:

String result = subjectString.replaceAll("\\}", "\\\\\\}").replaceAll("\\{", "\\\\\\{").replaceAll("\\&", "\\\\\\&")
.replaceAll("=", "\\\\=").replaceAll(",", "\\\\,")
.replaceAll("\\@", "\\\\\\@")
.replaceAll(">", "\\\\>").replaceAll("!", "\\\\!").replaceAll("\\+", "\\\\\\+");

输入:

<xsl:with-param name="text" select="substring-after($text,$replace)"\/>

预期输出:

<xsl\:with\-param name\=\"text\" select\=\"substring\-after(\$text\,\$replace)\"\/\>

最佳答案

在处理简单的字符类时,正则表达式可以是表达需求的直接方式:

"<xsl:with-param name=\"text\" select=\"substring-after($text,$replace)\" />"
.replaceAll("([^0-9A-Za-z])", "\\\\$1")

[] 给出字符类,其中可以包括单个字符和范围。

[^] 否定字符类别。

() 创建一个捕获组,由左括号编号。

$1 给出第一次捕获的值。

\\\\ 是双重转义的“\”;一次用于 Java 文字;一次用于正则表达式。

换言之,将不在 0-9、A-Z 或 a-z 范围内的每个字符替换为以反斜杠为前缀的单个字符。

关于java - 在字符串中使用反斜杠作为前缀特殊字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57437221/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com