^(.*)(\r?\n\1)+$
使用正则表达式将文本内容替换为\1
是消除重复行的好方法,但需要整行内容相同才能消除重复。
然而,如果我想在行的前X个字符中检测和删除重复项,该怎么办?
例如: 原始文件
12345 Dennis Yancey University of Miami
12345 Dennis Yancey University of Milan
12345 Dennis Yancey University of Rome
12344 Ryan Gardner University of Spain
12347 Smith John University of Canada
已删除重复项。
12345 Dennis Yancey University of Miami
12344 Ryan Gardner University of Spain
12347 Smith John University of Canada
1 1 2 1
,其中1表示重复项? - ctwheels^(.{10}).*$[\s\S]*?\K^\1.*
,但你需要运行它直到没有更多匹配。这只适用于某些语言,因为\K
(例如 PCRE)。 - ctwheels