首页 > 解决方案 > 删除除单词以外的所有内容

问题描述

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

前:

Caracas
UNUSABLE TEXT Caracas UNUSABLE TEXT 
Caracas

后:

Caracas
Caracas
Caracas
Caracas

我用这个做了很多测试:

寻找: .(text_you_need_to_keep).

代替: $1

但我无法让它工作。

标签: regexnotepad++google-sheets-api

解决方案


您可以使用

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

详情

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

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

请参阅正则表达式演示:

在此处输入图像描述


推荐阅读