【问题标题】:How to find single quotes and replace them by two single quotes in Notepad++?如何在 Notepad++ 中查找单引号并将其替换为两个单引号?
【发布时间】:2012-12-18 16:23:25
【问题描述】:

我需要在文本中找到单引号并将它们替换为两个单引号,例如:

拉布雷

=>

l''arbre

文本中已经有很多地方有两个单引号,所以我不能只使用查找/替换功能,因为它会同时提取所有这两个单引号,并且它们应该保持不变,无需修改.

有人知道怎么做吗?我想我必须使用正则表达式,但到目前为止我尝试过的都没有真正起作用。

谢谢!

【问题讨论】:

  • 我认为有点偏离主题

标签: regex notepad++ quote


【解决方案1】:

ctrl + h 并在正常模式下(无正则表达式):

1) 将' 替换为''

2) 将'''' 替换为''

【讨论】:

  • 我忘了准确地说,文本中已经有很多地方有两个单引号,所以我不能只使用查找/替换功能,因为它会拾取所有这两个单引号在一起,它们应该保持不变,而不会被修改。这就是为什么我认为正则表达式是唯一的选择......
【解决方案2】:

ctrl + F,转到第二个标签(或ctrl + h)。

  • ([a-zA-Z0-9]+)\'([a-zA-Z0-9]+) 放在第一个输入端。
  • \1"\2 放在第二个输入上。
  • 在搜索类型上,选择正则表达式。
  • 按全部替换。

匹配:text'text09text09'09text09text'09text0909text09'text

不匹配:text''text'

【讨论】:

  • 我忘了准确地说,文本中已经有很多地方有两个单引号,所以我不能只使用查找/替换功能,因为它会拾取所有这两个单引号在一起,它们应该保持不变,而不被修改。
【解决方案3】:
find what: '
replace with: ''

为我工作。不需要正则表达式

【讨论】:

    【解决方案4】:

    查找内容:([^'])(['])([^'])

    替换为:\1''\3

    这仅用双引号替换单引号,并保持已经存在的双引号不变

    【讨论】:

    • 当单引号是字符串的第一个(或最后一个)字符时,这不起作用。例如,用'blah blah' 试试,你最好使用环视。
    猜你喜欢
    • 2015-08-01
    • 2017-12-29
    • 2011-06-24
    • 1970-01-01
    • 2018-11-18
    • 1970-01-01
    • 2017-06-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多