文本去重/排序/大小写

文本去重、排序、大小写转换,是指按行改写一段纯文本:删掉重复行、把行重新排列、统一英文字母的大小写。本工具箱把这些操作放在同一页,粘贴文本或拖入 .txt 文件即可在浏览器本地一次做完——去重、删空行、去每行首尾空白、升降序排序、行顺序反转、四种大小写写法,同时给出行数、词数、字符与 UTF-8 字节数。换行符 CRLF、CR 先归一成 LF,去重与排序口径一致。文本不上传服务器,免费不加水印。

拖入 .txt 文件,点击选择
文件不上传 · 浏览器本地处理 · 也可直接粘贴文本

这里的去重只按行、只保留首次出现;需要按段落/分隔符去重、只提取重复项并看重复次数,或用两份名单做差集,请用文本去重专项页。

🔒 文本在你的浏览器内处理,未上传任何服务器。

如何使用文本去重/排序/大小写

1

粘贴文本,或把 .txt / .csv / .md / .log 文件拖入上方区域(按行处理,读不出内容会直接提示)。

2

在「操作」里选去重、排序、大小写、去空行或仅统计;去重与两种排序还能勾「忽略大小写」「比较前忽略行首尾空白」,改完选项要重新点一次「处理」。

3

看结果上方的统计条确认行数对得上,再「复制」或「下载」;结果框只预览前 6000 个字符,复制和下载拿到的是完整内容。

关于文本去重/排序/大小写的常见问题

文本处理工具箱会上传我粘贴的文本吗?
不会上传。去重、排序、大小写转换和字数统计都在你的浏览器里用 JavaScript 算完,页面没有把内容发往服务器的请求,关闭或刷新页面即全部清除,也不写入本地存储。想自己确认,可以按 F12 打开开发者工具的「网络」面板,点「处理」时不会出现任何上传请求。所以整理客户名单、内部账号列表这类内容也可以直接粘进来。
怎么在线给多行文本去重、去掉重复行?
把文本粘进文本框,「操作」选「去除重复行」,点「处理」即可。判重是整行完全相同才算重复,保留每行第一次出现的位置,其余删掉,剩下的行顺序不变。需要不区分大小写时勾「忽略大小写」,Apple 与 apple 就会被当成同一行(输出保留先出现的那个写法)。一个容易忽略的地方:重复的空行也会被合并成一个,想彻底清干净空行请再跑一次「删除空行」。
文本去重时行尾多个空格判不出重复怎么办?
勾上「比较前忽略行首尾空白」再处理。默认是整行逐字符比较,「橙子」和「 橙子 」在字符层面不是同一行,所以不会被判重复;勾上之后比较时先把每行首尾的空格、制表符去掉,两行就能对上。注意输出保留的是先出现那一行的原样,带着它原本的空格,并不会顺手帮你去掉——需要连空格一起清掉,就先跑「去每行首尾空白」,再跑「去除重复行」。
文本排序时中文和数字按什么顺序排?
中文按拼音排、数字按大小排。排序用的是中文规则的比较器(Intl.Collator zh)并开启了数字自然序,所以「橙子、苹果、香蕉」是按 chéng、píng、xiāng 的拼音顺序排出来的,file2 也会排在 file10 前面,而不是按字符逐位比较把 file10 排到前面。中文整体排在英文之前;内容相同的行保持原来的先后顺序。本页只有「整行字典序」这一种排序,需要按笔画、按行长度、按行内数字大小、随机打乱或按第 N 列排,请用文本排序专项页。
文本排序后空行全跑到最前面怎么办?
空行也是一行,参与排序,而空内容比任何字符都靠前,升序时自然全部堆在开头(降序则堆在末尾)。文本末尾多按了一个回车,也会多出一个空行跟着一起排。解决办法是先选「删除空行」处理一次,再排序,顺序就干净了。同理,行首带空格的行排序时也会靠前,先跑一次「去每行首尾空白」可以避免这种「看起来排错了」的情况。
文本处理工具箱的字符数、词数、字节数怎么算?
字符数按「你看到的一个字」(字素簇)算:一个汉字记 1,普通 emoji 😀、国旗 🇨🇳、家庭 emoji 👨‍👩‍👧 也各记 1;「不含空白」是再去掉所有空格、制表符和换行后的字符数。词数按空白切分的非空片段计,所以「hello world 你好世界」是 3 个词、16 个字符、24 个字节——中文之间没有空格,中文文本请以字符数为准。字节数按 UTF-8 计:英文字母和数字 1 字节,汉字 3 字节,换行 1 字节,😀 是 4 字节、🇨🇳 是 8 字节、👨‍👩‍👧 是 18 字节。填有字节上限的表单、数据库字段时看这个数比看字数准。
文本大小写转换里句首大写和首字母大写有什么区别?
「单词首字母大写」只把行首和空格、- 、_ 、/ 之后的第一个字母改成大写,其余字母原样不动;「句首字母大写」会先把整段转成小写,再把行首和句号、问号、感叹号(中英文都算)之后的首字母改大写。同一句 iOS hello WORLD. of the rings,前者得到 IOS Hello WORLD. Of The Rings,后者得到 Ios hello world. Of the rings。要保住 iOS、URL 这类缩写,或者要 of、the 在英文标题里保持小写、要转 camelCase 和 snake_case,请用大小写转换专项页。
用文本工具去空行还有空行删不掉是怎么回事?
「删除空行」删的是整行为空或只含空格、制表符的行。如果某一行里藏着零宽空格(U+200B)、零宽连接符或 BOM,它在屏幕上什么都不显示,程序却认为这行有内容,于是删不掉。判断方法很简单:选「仅统计」看「不含空白」的字符数,明明看着是空行却不是 0,那就是有隐形字符。这种情况以及「把连续空行合并成一个」「只去行尾空格」「删掉汉字之间的空格」,请用去空行空格专项页。
换行符不一样的文本做去重排序会出错吗?
不会。从 Windows 记事本、Mac 编辑器、网页里分别复制来的文本,换行符可能是 CRLF、LF 或老式的 CR,混在一起时同样的内容会被程序当成不同的行。本工具在处理前先把 CRLF 和 CR 统一成 LF,再去重、排序、统计,所以来源不同也能正确判重。结果统一用 LF 输出,粘回 Windows 记事本可能看到所有行连成一片,用 VS Code、Notepad++ 或 Word 打开则显示正常。
手机上能用这个文本去重排序工具吗?
能。用手机浏览器打开本页,长按粘贴文本,选操作后点「处理」即可,不用装 App。从微信、备忘录、聊天记录里复制的名单可以直接粘进来去重或排序,处理同样在手机本地完成、内容不上传。手机上不方便存文件时,用「复制」按钮把结果复制走比下载更顺手;文本很长时结果框只预览前 6000 个字符,复制拿到的仍是完整内容。
文本处理工具箱免费吗,要不要注册或下载软件?
免费,不用注册、不用下载软件,也不加水印。11 种操作、忽略大小写与忽略首尾空白这些选项都不分免费版付费版,没有会员或次数限制。原因很实在:计算全部由你自己的浏览器完成,站点不承担计算成本,也就没有按次收费的理由。真正的限制来自设备本身——文本越长越吃内存,几十 MB 的日志建议先拆分再处理;下载的结果是普通 txt 文件,不带任何署名或水印。
文本去重、排序用工具箱还是用专项页?
顺手处理一下用本页,认真处理用专项页。本页的定位是一页把常见操作做完:去重只按整行、排序只有整行字典序、大小写只有 4 种,胜在换一个操作不用换页面,还能随时切「仅统计」看行数字数。专项页则各自做深:文本去重支持按段落与分隔符去重、只提取重复项并统计次数、两份名单做差集;文本排序支持按笔画、长度、行内数字、第 N 列以及可复现的随机打乱;去空行空格能处理零宽空格这类隐形字符;大小写转换有 12 种命名风格与保留词表。

文本处理工具箱有哪些操作?11 种功能对照表

「操作」下拉框里的 11 项分成行处理、排序、大小写、统计四组。下表给出每一项到底做什么, 以及一个容易踩到的边界——多数「结果不对」其实是这些规则没对上:

分组操作做什么容易踩的边界
行处理去除重复行相同的行只保留第一次出现的那一行,其余删掉。重复的空行同样会被合并成一个,只留最靠前的那处空行。
行处理删除空行删掉整行为空、或只有空格与制表符的行。含零宽空格(U+200B)的「假空行」看着空却删不掉,要用去空行空格。
行处理去每行首尾空白把每一行开头和结尾的空格、制表符去掉,行内空格不动。空行本身会被保留,只是变成真正的空行,不会顺手删除。
排序升序排序(中文/自然序)按中文拼音与英文字母升序排,数字按大小排而不是按字符排。file2 排在 file10 前面;中文整体排在英文前面。
排序降序排序同一套规则反过来排,相同内容的行保持原有先后顺序。空行会被当成一行参与排序,升序时全部堆到最前面。
排序行顺序反转把整段文本的行首尾颠倒,最后一行变成第一行。这是纯粹的倒序,不比较内容,也不做排序。
大小写全部大写所有英文字母转成大写,汉字、数字、标点原样保留。德语 ß 转大写会变成 SS,字符数因此变多,且转回小写不会还原。
大小写全部小写所有英文字母转成小写。缩写会一并变小写,URL 会变成 url。
大小写单词首字母大写把行首以及空格、- _ / 之后的第一个字母改成大写。其余字母保持原样,所以 WORLD 不会被改回 World,iOS 会变成 IOS。
大小写句首字母大写先把全文转成小写,再把行首与 . ! ? 。!? 之后的首字母改大写。和上一条相反,它会压平原有大小写:iOS 变成 Ios。
统计仅统计(不改文本)文本原样返回,只给出行数、字符数、不含空白字符数、词数与字节数。中文之间没有空格,词数会偏小,中文长度请看字符数。

一次只能选一种操作,但可以把上一次的结果留在结果区、复制回输入框接着处理, 常用的组合是「去每行首尾空白 → 去除重复行 → 升序排序」。 「忽略大小写」和「比较前忽略行首尾空白」只对去重和两种排序生效,选到大小写或统计时会自动隐藏。

文本去重怎么用?5 行名单的实际例子

把下面 5 行粘进文本框(第 4 行是空行,第 5 行前后各有两个空格):

苹果 / 香蕉 / 苹果 / (空行) / ␣␣橙子␣␣

  • 选「去除重复行」直接处理:第 3 行的「苹果」被删掉,输出 4 行, 统计条显示 行数 4 · 字符 13 · 不含空白 6 · 词数 3 · 字节 25。 空行和带空格的「橙子」都还在——它们和其他行都不重复。
  • 再勾上「比较前忽略行首尾空白」:如果名单里还有一行干净的「橙子」, 它会和「␣␣橙子␣␣」判为重复,但输出保留先出现的那一行,空格照旧带着。
  • 接着选「升序排序」:结果是空行、橙子、苹果、香蕉—— 空行排在最前面,中文按拼音 chéng、píng、xiāng 排。不想要开头那个空行, 先跑一次「删除空行」再排。

统计条里的数字都是按处理后的结果算的:25 个字节 = 6 个汉字 × 3 + 3 个换行 + 4 个空格。 需要单独看原文的行数和字符数,选「仅统计(不改文本)」即可,文本一个字都不会改。

文本去重、排序、去空行该用哪个工具页?

本页是一页做完常见操作的工具箱;下面三类需求超出了它的规格,站内有对应的专项页:

只需要排序,但要按笔画 / 按长度 / 按数字大小 / 随机打乱,或按第 N 列排、排完顺便去重?请用 文本排序。按段落或分隔符去重、只想挑出重复项并看重复了几次、 拿两份名单做差集,请用 文本去重

用「去空行 / 去首尾空白」还有空行删不掉,或者要把连续空行合并成一个、单独去行尾空格、 删掉汉字之间的空格与零宽空格?请用 去空行空格

要 camelCase / snake_case / kebab-case 等命名风格互转,或者需要英文标题里 of、the 不大写、iOS 与 URL 等缩写保持原样?请用 大小写转换