文本工具

统计 / 对比 / 去重 / 大小写 · 共 10 个工具

文本工具存在的理由很朴素:同一个字符串在一种语境里是对的,在另一种里就是坏的——不可见字符、混杂的换行符、重复行,以及"字数"这个词的四种不同定义。这些工具的作用就是把不可见的东西显示出来、把不一致的东西统一起来。

它们大多是按行处理的:按换行切分、逐行变换、再拼回去。这正好适合日志、列表、CSV 列和配置文件,不适合散文。正则测试是例外,它在整段输入上工作,并显示每一处匹配与分组捕获。

我该用哪个?

本分类的全部工具

字数统计 统计字符、中英文、行段、UTF-8 字节与预估阅读时间 文本逐行对比 并排找出两版文本的新增与删除行 按行去重排序 去除空行、重复行,可选按字母顺序排序 大小写转换 全大写、全小写、首字母、每词首字母、句首大写互转 命名风格互转NEW camel / Pascal / snake / kebab / CONSTANT 五种风格一键互转 行处理工具 批量加前后缀、行号,删除或保留含关键字的行 批量查找替换 支持普通文本与正则,可选忽略大小写,逐处替换 正则测试HOT 实时高亮匹配、展示捕获组,支持 g/i/m 开关 HTML 实体编解码 特殊字符与 & < 等 HTML 实体互相转换 空白处理 去首尾、合并空格、删全部空白、删 Tab、CRLF 与 LF 互转

本分类的深度指南

常见问题

为什么字数有四个不同的结果?

因为它们量的不是同一件事。UTF-16 码元就是 JavaScript 的 length,一个基本平面外的 emoji 算 2;码点统计的是 Unicode 标量值;UTF-8 字节关系到存储上限和数据库字段长度;字素簇才是人眼看来"一个字"的数量,包含组合符号与 emoji 序列。

为什么不能用正则解析 HTML?

HTML 不是正则语言。可选闭合标签、同名元素嵌套、属性引号规则,都会让在你测试的那段样本上看起来正确的模式失效。要处理结构就用解析器查询 DOM;正则可以用于压平、提取已知字段或快速筛查,但不能用来保证正确性。

校验邮箱该用正则吗?

严格来说不该。完整文法允许带引号的本地部分和注释,写得出的"全通过"正则既难读也不可靠;而好读的正则一定会拒绝合法地址。用是否存在 @ 和点做交互提示,然后发一封确认邮件——那才是唯一真实的校验。