现有一个excel:
里面有几列单词。
希望做到:
- 去重:去重一些重复的单词
- 把单词和词组分开:
- 比如单词在上面
- 词组在下面
excel 去重
筛选唯一值或删除重复值 – Excel
https://support.office.com/zh-cn/article/筛选唯一值或删除重复值-ccf664b0-81d6-449b-bbe1-8daaec1e83c2
“删除重复值
1. 选择单元格区域,或确保活动单元格所在表中。
2. 在数据选项卡上,单击删除重复项(在数据工具组中)。
3. 请执行下列一项或多项操作: 在列下选择一个或多个列。 …
4. 单击确定,然后将出现一条指示多少重复值已被删除,或保留了多少唯一值。 单击确定关闭此消息。
5. U 撤销更改通过单击撤消(或按键盘上的Ctrl + Z)。”
![](https://www.crifan.com/files/pic/uploads/2021/05/5100d4dab53043d7b580b3e8da386f5d.jpg)
![](https://www.crifan.com/files/pic/uploads/2021/05/22654c749da54569961eb32905777118.jpg)
![](https://www.crifan.com/files/pic/uploads/2021/05/0f259d739ef341cc97d31c257d388bf0.jpg)
![](https://www.crifan.com/files/pic/uploads/2021/05/c06558aecfa54022bccf3a98847217b0.jpg)
发现了 444 个重复值,已将其删除;保留了 1638 个唯一值。
对于单词和词组排序的话:
目前想到的方案:
- excel写vba脚本
- 用python写脚本
- 用VSCode去正则处理
现在用第三种
其中还有些特殊的,去掉:
" *\n
![](https://www.crifan.com/files/pic/uploads/2021/05/8ee2413128e845d3959d2821ef6d58fe.jpg)
和:
"
![](https://www.crifan.com/files/pic/uploads/2021/05/43157d27500d4b5695e46dace26e47d9.jpg)
和:
+\n \n
![](https://www.crifan.com/files/pic/uploads/2021/05/ac0b3632f83a49aaa2415ca6b0a1441b.jpg)
(\w+) */ *(\w+) $1\n$2
![](https://www.crifan.com/files/pic/uploads/2021/05/44bd94ace3014a63a6829a85ca0bcb42.jpg)
^ +(.+)$ $1
![](https://www.crifan.com/files/pic/uploads/2021/05/585f37cf04be46c1b93cc09abe6cd2e3.jpg)
然后基本上处理完了普通的特殊情况。
对于复杂的特殊情况,无法处理。
现在只能去:
把单个单词提取出来
再去把非单个单词提取出来
还要特殊过滤:
’ '
![](https://www.crifan.com/files/pic/uploads/2021/05/9a891847c8ed430eb4043f0e4c243661.jpg)
[ ]+$
![](https://www.crifan.com/files/pic/uploads/2021/05/dccda44b5beb43afac5eb9901be8daaa.jpg)
把那些 空格 和特殊的不可见类似于空格的字符,去除掉
替换中文的感叹号:
! !
![](https://www.crifan.com/files/pic/uploads/2021/05/33510c1e28474ecba2f3c735c8ecdd67.jpg)
然后去分出 单词还是词组
^([\w'\-]+)$\n
![](https://www.crifan.com/files/pic/uploads/2021/05/0c9291c219e24d9b8b08ed31e0ced5b4.jpg)
发现用VSCode的正则,只能匹配,但是无法提取出来
-》无法把单词都单独存取出来,
无法把词组都提取出来
-》不过突然发现是可以:
单词中间没空格
词组中间都有空格
就可以:
分别匹配,剩下的都删除
即可得到分开的内容了。
然后先去删除掉单词
^([\w'ˈ\-]+)$\n
![](https://www.crifan.com/files/pic/uploads/2021/05/15ee3ccd9a4745b4939df91bd06351c3.jpg)
![](https://www.crifan.com/files/pic/uploads/2021/05/7ac68a168956456299bbbfb06574cf67.jpg)
再去去掉词组:
^((.+ +.+)|([\w.]+[!.]))$\n
升级后的版本:
^((.+[ ./…]+.+)|([\w.]+[!.]))$\n
![](https://www.crifan.com/files/pic/uploads/2021/05/ecbada2c8b5e49bab1d0c6c77712cdcd.jpg)
即可分别得到:
(1)分组列表
![](https://www.crifan.com/files/pic/uploads/2021/05/0f9315a5027c42b887f439f21950cd45.jpg)
(2)单词列表
![](https://www.crifan.com/files/pic/uploads/2021/05/a46eae1fc3d8471fa3d8bef1d007a8e5.jpg)
转载请注明:在路上 » 【已解决】Excel中处理英文单词去重和分组