首页 > 工具箱 > 文本去重

文本去重

一列数据里有没有重复、重复了几次、哪些是独一份的——这三件事其实是同一个操作的三种输出。这页除了常规的按行去重,还能反过来只把重复的挑出来并数出次数,也能拿两份名单做交集差集,比手工在 Excel 里筛快得多。

怎么判断「算不算重复」

四个忽略开关是叠加的
判重时先按勾选的规则把每一行「归一」成一个比较用的键,再拿键去比。Apple 、apple、A p p l e、apple. 这四行,在不同开关组合下可能算同一条也可能算四条。「忽略所有空白」「忽略标点」「忽略大小写」这三个只影响判重,输出的仍是原文;只有「忽略首尾空白」会顺手把首尾空白从输出里也去掉——行尾那几个空格留着基本没有用处。
保留第一次还是最后一次
去重时这两种结果的内容相同但顺序和写法可能不同:比如 Apple 出现在第 1 行、APPLE 出现在第 9 行且忽略大小写,保留第一次得到 Apple、排在前面;保留最后一次得到 APPLE、排在后面。数据以最新一条为准时选「最后一次」。
找出重复项和去重是互补的
「按行去重」给你每条只留一份的结果;「找出重复项」给你出现了两次以上的那些条目及次数,用来排查数据源里到底哪里重了。把次数门槛改成 3,就只列重复三次以上的。想反过来只要「只出现过一次」的,把门槛填 1 并勾上「结果带出现次数」看一眼就知道哪些是唯一的——或者直接用两份名单比对里的对称差。
去除重复字符是另一回事
它处理的是一行之内的重复:aabbcc → abc。有两种口径:「相邻重复」只压掉连着的(aaba → aba),「全局重复」则每个字符只留第一次出现的(aaba → ab)。做字符集统计、清理手滑连打时有用。
集合运算的口径
两份名单都先各自去重再做集合运算,所以结果里不会有重复项。交集是两边都有,并集是两边合起来,差集 A−B 是「A 有但 B 没有」,对称差是「只在其中一边出现」(等于并集减交集)。对账、比名单、找漏发的场景基本都能用这四个覆盖。
相关工具
去除空行与空格、文本排序、文本行处理、文本 Diff、词频统计、关键词组合生成。
已复制