当前位置: 首页 > 知识库问答 >
问题:

替换所有在转义特殊字符时不按预期工作[重复]

百里星纬
2023-03-14
class Ideone
{
    public static void main (String[] args) throws java.lang.Exception
    {
        String searchKeyword="Legal'%_";
        String specialChars[]={"_","%","'"};
        for(int i=0;i<specialChars.length;i++)
           searchKeyword=searchKeyword.replaceAll(specialChars[i],"\\"+specialChars[i]);
        System.out.println(searchKeyword);

    }
}

代码段试图转义一些特殊字符,但问题是 searchKeyword 没有获得新的替换字符串。

它的输出应该是合法的\'\%_,但我只得到原始字符串作为输出。

请帮帮我。

共有1个答案

易成双
2023-03-14

replaceAll(String regex, String replacement) 与 regex 一起工作:

将此字符串中与给定正则表达式匹配的每个子字符串替换为给定替换。

将输入String中的子字符串替换为特定String所需的是:替换(CharSequence目标,CharSequence替换)

用指定的文本替换序列替换此字符串中与文本目标序列匹配的每个子字符串。

 类似资料:
  • 我有一个包含以下列的表: 然后,我手动将更新sql编写为 现在,这个解决方案对我来说并不现实。我查看了以下与Regex相关的链接和它周围的其他链接。 更新和替换字符串的一部分 https://www.codeproject.com/questions/456246/replace-special-characters-in-sql 我如何编写能够处理所有这些特殊字符的更新sql?

  • 正如我们所看到的,一个反斜杠 "\" 是用来表示匹配字符类的。所以它是一个特殊字符。 还存在其它的特殊字符,这些字符在正则表达式中有特殊的含义。它们可以被用来做更加强大的搜索。 这里是包含所有特殊字符的列表:[ \ ^ $ . | ? * + ( )。 现在并不需要尝试去记住它们 —— 当我们分别处理其中的每一个时,你自然而然就会记住它们。 转义 如果要把特殊字符作为常规字符来使用,只需要在它前面

  • 我有下一个字符串: 我想替换所有出现的,问题是当有特殊字符(例如: 可以由任何< code >字符串替换。 有什么办法可以解决这个问题吗?

  • 如何用单个字符替换n/重复字符?所有特殊字符

  • 问题内容: 这将所有特殊字符替换为“”(空格)。 但是我尝试将破折号“-”排除为特殊字符。 这是我的尝试: 但这不是我期望的。 问 :如何进行这项工作? 问题答案: 如果要匹配除以外的所有字符,可以使用: 例如:

  • 有没有办法用gsub替换R中的特殊字符串?我有几列里面有,我想把它改为,但是gsub不起作用 下面是一个例子: 我收到以下输出: