一块剪贴板ykjtb.com
文本处理

批量查找替换

一次设好几条规则,按顺序批量改掉文本里的内容,支持正则表达式和忽略大小写。

← 全部小工具

本工具 100% 在你的浏览器中运行,输入的内容不会上传到服务器,断网也能继续用。

替换规则(按从上到下的顺序依次执行)

等待输入
  • 顺序很重要:规则从上到下依次执行,前一条的结果会作为后一条的输入。想先删前缀再改内容,就把删除放前面。

  • 正则支持捕获组:勾选正则后,替换框里可以用 $1、$2 引用括号里匹配到的内容。

  • 替换为空即删除:把「替换为」留空,就相当于批量删掉所有匹配内容。

  • 处理完要发到手机上?用 贴一块,手机扫码或输入取件码即可取走。

什么时候需要批量替换

最典型的是统一格式:一份从多个部门汇总来的名单,有人写「北京市」,有人写「北京」,有人写「北京市 」,导入系统前必须统一。或者一批文件名里混了全角括号,要全部换成半角。

其次是批量删除:日志里每一行前面都有固定前缀的时间戳和线程号,分析时不需要,要整批删掉。再就是内容脱敏:把文本里出现的某个姓名、某个域名统一替换成占位符。

还有一类是格式转换:把 key=value 批量转成 "key": "value",把下划线的命名批量改成驼峰。这类需求单次操作重复几十上百遍,手工做既慢又容易漏。

多规则有什么用

单条规则能做的事有限,多条规则串联起来才能覆盖真实场景。举个具体例子:你要把一段日志清洗成可导入的 CSV——

第一条规则删掉行首的时间戳,第二条规则把 Tab 替换成逗号,第三条规则去掉行尾多余空格。三步一次执行完,比在编辑器里反复点「全部替换」快得多,而且规则可以反复复用。

需要注意规则的执行顺序会改变结果。先删空格再匹配关键词,和先匹配关键词再删空格,在某些文本上结果可能不同。如果结果不对,试着调整规则顺序。

用正则表达式要注意什么

正则很强大,但也有两个常见的坑。

第一个坑是特殊字符必须转义。如果你想匹配字面的 a.b,直接写会变成"a 任意字符 b",因为 . 在正则里代表任意字符。正确的是 a\.b。同理,( ) [ ] { } + * ? ^ $ | \ 这些字符都有特殊含义,要匹配它们本身都得加反斜杠。如果不用正则模式,本工具会自动帮你转义,所以匹配纯文本时不必担心这个问题。

第二个坑是贪婪匹配。正则默认尽可能多地匹配,<.*> 匹配 <a><b> 时会一次吃掉全部内容,而不是分成两段。解决办法是用 .*? 这样的非贪婪写法。

几个真实的使用场景

场景一:清理日志前缀。把导出的日志里每行开头的 [INFO] 2026-10-27 这类固定前缀批量删掉,只留正文。

场景二:统一命名。代码里有 200 处 user_name,要改成 userName。用正则捕获下划线后的字母并转大写,一次替换完成。

场景三:整理导出文本。系统导出的内容里字段间是 ||| 分隔,批量替换成换行,再发到手机上查看。

常见问题

规则的执行顺序是怎样的?

从上到下依次执行,前一条规则的输出作为后一条规则的输入。如果结果不符合预期,试着调整规则顺序。

怎么批量删除某些内容?

在「查找」里填要删的内容,「替换为」留空即可,相当于把所有匹配项替换成空字符串。

正则里的 $1 是什么?

它引用正则中第 n 个括号捕获到的内容。比如查找 (\d{4})-(\d{2})、替换为 $2/$1,可以把「2026-10」变成「10/2026」。

提示"正则表达式有误"怎么办?

通常是括号没有配对,或者用到了需要转义的特殊字符。检查左右括号数量是否一致,以及是否误用了 ( ) [ * + 等符号。

我输入的内容会被保存到服务器吗?

不会。所有计算都在你的浏览器里完成,页面不会把输入内容发送到任何服务器。你可以打开本页后断开网络,工具依然正常工作。