【问题标题】:Delete everything except a word删除除单词以外的所有内容
【发布时间】:2021-05-26 18:14:04
【问题描述】:

我花了好几个小时在正则表达式中寻找一种方法来删除一行中除特定文本之外的所有内容。它会是这样的:

之前:

Caracas
UNUSABLE TEXT Caracas UNUSABLE TEXT 
Caracas

之后:

Caracas
Caracas
Caracas
Caracas

我用这个做了很多测试:

查找: .(text_you_need_to_keep).

替换: $1

但我无法让它工作。

【问题讨论】:

  • 您的意思是要将UNUSABLE TEXT Caracas UNUSABLE TEXT 行替换为3 行Caracas 行吗?
  • 是的,这就是目标。
  • 尝试(Caracas)|\R*(?:(?!Caracas).)+\R*并替换为(?{1}$1:\nCaracas\n)

标签: regex notepad++ google-sheets-api


【解决方案1】:

你可以使用

查找内容:      (Caracas)|\R*(?:(?!Caracas).)+\R*
替换为(?{1}$1:\nCaracas\n)

详情

  • (Caracas) - 第 1 组:Caracas
  • | - 或
  • \R* - 零个或多个换行符
  • (?:(?!Caracas).)+ - 一个或多个不以Caracas 字符序列开头的换行符以外的字符(尽可能多)
  • \R* - 零个或多个换行符

如果第 1 组匹配,则替换为第 1 组的值,否则,替换为两端带有换行符的 Caracas

查看正则表达式演示:

【讨论】:

  • 谢谢!它真的很好用。但是我对替换进行了修改,因为它出于某种原因重复了这些行。现在我在替换中只使用了 1 美元。再次感谢。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-07-27
  • 1970-01-01
  • 1970-01-01
  • 2022-11-18
  • 2017-10-11
  • 1970-01-01
相关资源
最近更新 更多