【问题标题】:RegEx for Find and Replace not escaped apostrophes in Android Studio IDE用于查找和替换的正则表达式在 Android Studio IDE 中未转义撇号
【发布时间】:2017-07-13 01:24:19
【问题描述】:

我正在尝试制作一个正则表达式来查找和替换 Android Studio 中的所有非转义撇号。

到目前为止,我想出了这个:

[^\][']

这将选择一个撇号和它左边的字符,如果它不是一个反斜杠(即如果它还没有转义!)。

问题是如果我有一个词 " d'effectuer " 它会将光标放在 " d' " 上,但我不想替换撇号左边的字母。它应该找到相同的单词,但选择应该只在撇号本身,所以我可以用 " \' " 替换它。这能以某种方式完成吗?

注意:我也尝试在 Notepad++ 中这样做

with >'\ 然后用 \' 替换,由于某种原因它不起作用。查找实际上可以正常工作,但是当我点击替换按钮时,它并没有替换任何东西......

【问题讨论】:

  • 我正面临这个确切的问题,您在哪里可以找到解决方案?

标签: android regex android-studio


【解决方案1】:

尝试将要保留在括号中的子字符串括起来以形成捕获组:

([^\])[']

然后您可以在替换时使用$1 引用它,例如用$1replacement 替换它,其中replacement 是任何将替换撇号的东西。

【讨论】:

    【解决方案2】:
    Without RegEX- We can directly remove ' symbol.
    
    String data ="d'effectuer";
    String a=data.trim().replace("'","");
    

    正则表达式 [^\w ] 将匹配任何非字母数字或空格。所以你可以使用 [^\w] 代替撇号。

    【讨论】:

      【解决方案3】:

      我遇到了同样的问题。我发现最简单的方法是

      1. 找到所有转义字符 (\') 并将它们替换为未转义的版本 (') - 让您没有正确转义的字符

      2. 找到那些未转义的字符 (') 并将它们替换为转义版本 (\') - 现在您可以一次转义所有字符

      对于您不想花费大量时间完成的任务的简单解决方法

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-03-09
        • 2013-07-13
        • 1970-01-01
        • 1970-01-01
        • 2021-08-19
        • 2011-03-11
        相关资源
        最近更新 更多