piapia123
zh

字符清除

文本

所有处理都在浏览器本地完成,数据不上传服务器

输入
把文件拖到这里可直接载入
输出

把一个文本里某一类字符整体清掉,或者反过来只保留某一类。六类各自独立:汉字、拉丁字母、数字、标点、空白、符号与 emoji。 勾选框的分法不是拍脑袋来的,它对应的正是用户嘴里那句话:「把中文去掉」「只留数字」「把标点清了」。用正则当然也能做,但要写 `\p{Script=Han}` 这类东西 —— 而那恰恰是人们打开这个页面的原因:不想写。 判据一律走 Unicode 属性,不走码点区间。 `[一-鿿]` 这种写法只能覆盖 CJK 基本区,扩展区的生僻字会漏掉,而「漏掉的那个字没被清掉」在结果里几乎看不出来。数字用 `\p{Nd}` 所以全角 0-9 也算;字母用 `\p{Script=Latin}` 所以全角 A-Z 也算。 删除空白时换行会保留。 换行也属于空白,但它一旦被删掉,多行输入会塌成一行 —— 而用户说「删除空格」时心里想的多半不是这个。所以空白这一类按行处理,行结构由工具自己维持。

功能

  • 六类独立勾选:汉字、拉丁字母、数字、标点、空白、符号与 emoji
  • 「只保留」模式反向工作:勾什么留什么,适合从混杂文本里提取一类字符
  • 汉字判据含扩展区生僻字,不是只认 CJK 基本区
  • 全角 A-Z 算拉丁字母、全角 0-9 算数字(Unicode 属性本来就认)
  • 中英文标点一视同仁(`,` 与 `,` 都是标点)
  • 删除空白时换行保留,多行不会塌成一行
  • 按字形簇处理,emoji 不会留下半个代理项变成乱码
  • 「只保留」模式一个都不勾时会报错提示,而不是给你一份空结果
  • 全程在浏览器本地计算,内容不上传

使用方法

  1. 把文本粘贴进输入框
  2. 选「删除」还是「只保留」,再勾上要处理的类别
  3. 结果实时更新,点「复制」取走

常见问题

全角字母和全角数字算哪一类?
全角 A-Z 算拉丁字母,全角 0-9 算数字。 这不是特例,而是它们本来的身份:在 Unicode 里,全角字母的 Script 属性就是 Latin,全角数字的类别就是 Nd(十进制数字)。所以勾「拉丁字母」会把 `A` 一起删掉。反过来说,`。` `、` 这类全角标点属于标点,不在字母或数字那一类里。
勾了「删除空白」,为什么换行还在?
因为换行被单独保护了。它确实属于空白,但如果跟着一起删,多行输入会立刻塌成一行 —— 而说「删除空格」的人想要的通常是清掉空白、不是把段落结构也拆了。要连行结构一起去掉,用「多行合并成一行」那个工具更直接。
「只保留」和「删除」有什么区别?
两者完全互补:同一份输入,删除模式的结果与保留模式的结果拼起来正好是原文(行结构各自保留)。想从一堆混杂文本里提取中文,用「只保留 → 汉字」;想去掉中文,用「删除 → 汉字」。注意保留模式下一个类别都不勾会清空全部内容,所以那种组合会直接报错提示,而不是默默给你一个空结果。

相关工具