从包含特定词的 csv 行中删除特定词

Remove specific words from csv line that contain specific word

我在 csv 文件中导出了元关键字

例如:

For Rent ABC-1234 , For Rent ABC-1234 Rental, For Rent ABC1234 , For Rent ABC1234 Rental, For Rent ABC 1234 , For Rent ABC 1234 Rental, For Lease ABC-1234 , For Lease ABC-1234 Rental, For Lease ABC1234 , For Lease ABC1234 Rental, For Lease ABC 1234 , For Lease ABC 1234 Rental

我想要做的是将读取 "For Rent XXX Rental" 的值从这些值中删除 "For Rent",这样剩余的值将只读取 "XXX Rental"。

这可能与正则表达式有关吗?

您可以在 查找内容 字段中使用此正则表达式:

For Rent ([^,]+ Rental)

替换为


[^,] 表示“除逗号之外的任何字符,+ - 1 次或多次。我看到这些值是用逗号分隔的,所以这似乎是一个安全的模式。为了更安全的匹配,您可以在 Find what 字段中尝试 For Rent ([^,]*? +Rental)(这也会占 Rental 之前的多个空格)。

输出:

For Rent ABC-1234 , ABC-1234 Rental, For Rent ABC1234 , ABC1234 Rental, For Rent ABC 1234 , ABC 1234 Rental, For Lease ABC-1234 , For Lease ABC-1234 Rental, For Lease ABC1234 , For Lease ABC1234 Rental, For Lease ABC 1234 , For Lease ABC 1234 Rental

我想这就是你想要的:

(A[^,]+\d Rental)

这将从"For Rent/Lease xxx Rental"中挑选出"xxx Rental",你不需要替换任何东西。

编辑:

如果 i(不区分大小写)标志未打开,则以上内容有效。

对于不区分大小写的正则表达式,请改用以下内容:

(?<=\w{4}\s|\w{5}\s)([^,]+\d Rental)
  • (?<=\w{4}\s|\w{5}\s) 是一种 正向观察 模式,它匹配后跟 \w{4}\s(出租)或 \w{5}\s(租赁)的字符串。

For \w+ \K([^,]+\d Rental)
  • \K 丢弃所有之前的匹配并从当前位置开始匹配。