以下是我的 .csv 的样子:
36;Masashi MOTOYAMA
38;H. SOGAHATA
38;Hitoshi SOGAHATA
47;Masami IHARA
52;S. ONO
52;S. ONO
对于我的项目,我需要逐个添加每个缺失的 ID。
我想保留只出现一次的 ID。
但我的名单上总共有 60,000 个名字。
我想删除所有出现多次的数字的行,并删除两行,而不仅仅是一行。
例如如果我有
1
2
2
3
我并不是在寻找“1,2,3”,我想要的是:
1
3
数字从“1;”到“1073878823;”
有些名字的书写方式不同,不匹配,只有数字重要。
在此先感谢您的帮助。
答案1
假设你的文件已排序, 你可以做:
- Ctrl+H
- 找什么:
^(\d+).+\R(?:^\1\b.+\R?)+
- 用。。。来代替:
LEAVE EMPTY
- 查看 环绕
- 查看 正则表达式
- 取消选中
. matches newline
- Replace all
解释:
^ # beginning of line
(\d+) # group 1, 1 or more digits
.+ # 1 or more any character but newline
\R # any kind of linebreak (i.e. \r, \n, \r\n)
(?: # non capture group
^ # beginning of line
\1 # backreference to group 1
\b # word boundary
.+ # 1 or more any character but newline
\R? # any kind of linebreak, optional
)+ # end group, must appear 1 or more times
截图(之前):
截图(之后):