我正在尝试删除Notepad++
中具有相同ID的行。我有一个.txt
文件,该文件具有以下具有相同ID的结构
1 33.854088 21.766714 abcdeffgffghjkkgfdfghjjh
1 33.854088 21.766714 ghfhsjiwassjss
2 32.856728 23.758888 asdfgdgff
3 37.85834 23.7711 asdfgghgghhg
3 37.85834 23.7711 babanxucndk
我想像这样一开始只保留每个id的第一行
1 33.854088 21.766714 abcdeffgffghjkkgfdfghjjh
2 32.856728 23.758888 asdfgdgff
3 37.85834 23.7711 asdfgghgghhg
我尝试使用此正则表达式^(.*?)$\s+?^(?=.*^\1$)
,但它只给我完全相同的行,我只需要每个id的第一行。
答案 0 :(得分:2)
这应该有效:
匹配:
^((\d+).*)(\r?\n\2.*)+
并替换为:
\1
我们匹配组2中的行ID,并捕获组1中的第一行。然后,我们继续匹配以相同ID开头的后续行(以反向引用\2
开头的行)。然后,我们替换为第一行的组1。请注意,这是假设您的ID列在递增。