文本处理 本地计算 开箱即用 内置示例 不留痕迹

文本处理工具集

八种常用文本处理:去除重复行(可选忽略大小写)、去空行、去除行首尾空白、按字母序或随机排序、四种大小写转换、全角半角转换与中英文标点规范化、中英文之间自动加空格(中英混排)、查找替换(支持正则与捕获组)。实时处理并显示行数变化,全部在浏览器本地完成。

整理文本时常用的小操作其实就那几件:去重、去空行、去行首尾空白、排序、大小写转换、全角半角与中英标点规范化、中英文之间加空格、查找替换。这些操作经常需要连着做(先去空行、再去重、最后排序),放在同一个页面里省去来回切换工具的麻烦。

两项使用要点:中英文之间加空格是排版细节,中文与英文、数字相邻时补一个半角空格,读起来更清楚,也是不少公众号与文档规范的要求;查找替换支持正则与捕获组,执行前请先确认替换语法(是 $1 还是 \1),建议先在小段文本上试,确认无误再处理全文。

使用步骤

  1. 粘贴待处理文本,按需勾选一个或多个处理动作。
  2. 实时查看结果与行数变化(如「12 行 → 8 行」),逐步确认每一步符合预期。
  3. 中英混排排版时勾选「中英文之间加空格」,粘回编辑器前再检查一遍。
  4. 用正则替换前先在小段文本上试,确认捕获组引用方式无误再处理全文。

计算原理与示例

文本去重规则

去重保留首次出现的行:三行重复文本处理后剩 1 行;勾选「忽略大小写」时 Apple 与 apple 视为同一行。

排序与大小写转换

排序支持 A→Z、Z→A 与随机洗牌(Fisher-Yates 算法)。大小写转换提供全部大写、全部小写、每词首字母大写(It's → It's)与句首大写四种模式。

全角半角与标点规范化

全角半角按 Unicode 宽度映射:全角字母数字与全角空格(如 AB1)与半角一一对应,全角形式的标点如逗号、冒号也会一并转成半角;中文句号「。」与顿号「、」不在该映射区间,会保持原样。标点规范化另分两个方向:「英文标点 → 中文标点」只改紧邻汉字的标点,所以 3.14 和 Hello, world 不会被误改,引号按出现顺序配对成左右中文引号,中文语境下的三个点会变成省略号;「中文标点 → 英文标点」则无条件全部替换,适合把中文稿改成英文排版。

中英混排加空格

查找替换默认按普通文本全局替换;勾选正则后可用 \d+ 这类模式与 $1 捕获组,例如把 2026-09-11 转成 11/09/2026。

查找替换与正则

中英混排在汉字与半角字母、数字之间自动补一个半角空格:中文abc第3名 → 中文 abc 第 3 名。只在两者直接相邻处补,中间已有空格或换行不会重复插入;标点两侧不加空格,所以「你好,world」「中文(English)」「结束.end」保持原样;全角字母数字(如 AB)不参与,需要时先用「全角半角」归一。

代码示例

Shell 常见整理的管道组合

# 去空行 → 去首尾空白 → 去重 → 排序,一条管道完成
sed '/^[[:space:]]*$/d' list.txt \
  | sed 's/^[[:space:]]*//;s/[[:space:]]*$//' \
  | awk '!seen[$0]++' \
  | sort > clean.txt

# 中英文之间加空格(简易版,中英各补一次)
perl -CS -pe 's/([\x{4e00}-\x{9fa5}])([A-Za-z0-9])/$1 $2/g; s/([A-Za-z0-9])([\x{4e00}-\x{9fa5}])/$1 $2/g' draft.txt

JavaScript 正则替换与捕获组

// 把 2026/9/14 统一成 2026-09-14
const fixDate = (s) => s.replace(/(\d{4})\/(\d{1,2})\/(\d{1,2})/g,
  (_, y, m, d) => `${y}-${m.padStart(2, '0')}-${d.padStart(2, '0')}`);

fixDate('发布于 2026/9/14'); // '发布于 2026-09-14'

// 命名组可读性更好
'2026-09'.replace(/(?<y>\d{4})-(?<m>\d{2})/, '$<y>年$<m>月'); // '2026年09月'

常见问题

处理的文本会被上传吗?

不会。所有处理都在你的浏览器里用 JavaScript 完成,文本不会发送到任何服务器,断网也能正常使用,可以放心粘贴名单、日志、代码等内容。

能处理多大的文本?

一般建议在 5MB 以内(约几百万行以内)。浏览器处理超大文本会变慢,但不会上传任何数据。若处理百万行级别文本出现卡顿,建议分段处理。

正则替换支持哪些语法?

支持 JavaScript 标准正则:\d 数字、\w 字符、+ * ? 量词、(…) 捕获组,替换串中可用 $1 $2 引用捕获组。正则语法错误时会给出红色提示。

去除重复行会保留哪一条?

默认保留第一次出现的那一行,后面的重复行删除,其余行顺序保持不变。勾选「忽略大小写」后,「Apple」和「apple」会被视为重复,同样保留先出现的写法。

能不能只去重不排序?

可以。去重和排序是彼此独立的操作,去重后默认保持原有顺序,不会自动排序;需要排序时再单独选择按字母序或随机打乱。两个功能可以组合使用,也可以只用其中一个。

排序是怎么排的?

工具提供按字母顺序和随机打乱两种方式:字母序适合整理名单和关键词,随机序适合抽签、分组前打乱。如果列表是数字编号,建议先补零对齐位数再按字母序排,能得到接近数值顺序的结果。

查找替换支持批量处理吗?

支持一次性替换全部匹配项(可忽略大小写);配合正则表达式和捕获组,还能做调换顺序、批量加前缀、删除指定字符等改写。建议先在少量样本上验证规则正确,再处理全文。

全角转半角和标点转换有什么区别?

改的不是同一样东西:全角转半角只改字符宽度(ABC → ABC、全角空格 → 普通空格),标点转换改的是标点符号本身(你好, → 你好,)。注意中文句号「。」和顿号「、」不在 Unicode 宽度映射区间里,所以「全角 → 半角」不会动它们;要把它们换成英文的点和逗号,请改用「中文标点 → 英文标点」模式。

中英混排为什么有时不加空格?

它只处理汉字与半角字母、数字「直接相邻」的情况:中间隔着标点就不加,所以「你好,world」「结束.end」保持原样;全角字母数字(如 AB)不参与判定,需要时先用「全角半角」转成半角。另外「第3名」这类汉字加数字也会补成「第 3 名」,这是排版惯例;若不想要数字旁的空格,手动删除即可。

延伸阅读

来自本站原创文章,讲清这个工具背后的算法与口径。