如何使用Notepad++去除每行内的重复文本(含多词短语)
如何使用Notepad++去除每行内的重复文本(含多词短语)
嘿,我来教你怎么用Notepad++搞定每行里重复的多词短语,就像你举的「Flooring Services」重复三次的情况,操作其实很简单,用正则表达式替换就能解决:
- 首先打开Notepad++和你要处理的文本文件
- 按下
Ctrl+H调出替换窗口 - 在「查找目标」框里输入这段正则表达式:
\b(.+?)\b(?:,\s*\1\b)+- 简单说下这个正则的意思:
\b是单词边界,保证我们匹配的是完整的短语;(.+?)会把第一次出现的目标短语(比如你的Flooring Services)抓下来;后面的(?:,\s*\1\b)+则是匹配所有跟在后面的重复内容——逗号、任意空格,再加上和第一次一模一样的短语,不管重复多少次都能覆盖到
- 简单说下这个正则的意思:
- 在「替换为」框里只输入
\1,意思就是只保留第一次捕获到的那个短语 - 别忘了勾选「正则表达式」选项(就在替换窗口的左下角),默认的「匹配换行符」不用勾
- 最后点击「全部替换」,搞定!
拿你的例子来试:
替换前:Flooring Services, Carpet, Flooring Services, Tile, Flooring Services
替换后:Flooring Services, Carpet, Tile
要是你的文本用的不是逗号加空格当分隔符,比如是分号或者其他符号,只需要把正则里的,\s*改成对应的分隔符就行,比如分号就改成;\s*,灵活调整就好~
备注:内容来源于stack exchange,提问作者Matt Lance
相关产品推荐
相关产品推荐

