查找替换不破坏文本:整词匹配、大小写与正则表达式
要安全地查找替换文本,请在复制结果前先检查匹配内容。普通替换会改掉每一处出现的字符,包括较长单词内部的字符,因此处理人名和短词时请开启整词匹配,并确认匹配数量与你预期的一致。
查找替换一次替换文中所有某个词免费使用为什么普通替换会弄坏文本
以句子 "The category cat sat" 为例,把 cat 替换为 dog。普通替换会改掉每一处 c、a、t 连续出现的地方,包括 category 的开头,结果变成 "The dogegory dog sat"。工具只是按照规则把所有匹配项都改掉了,本身并没有出错。
勾选“仅全字匹配”后,匹配项不能位于更长单词的内部。同样的替换会得到 "The category dog sat"。任何文字中的字母和数字都算作单词的一部分,因此 caf 不会匹配到 café 中。
处理人名、短词和缩写时,整词匹配是更稳妥的默认选择。如果你需要部分匹配,例如在一组产品编号中统一修改前缀,再把它关闭。
区分大小写
默认情况下,匹配会忽略大小写,所以 Cat、cat 和 CAT 都会被匹配到。这对同一个词大小写不统一的文本很有用,但也可能改掉你想保留的内容。像 Bill 这样的人名和 bill 这样的普通词,都会被匹配。
当大写字母能区分词义时,请开启“区分大小写”。使用高亮预览可以准确看到规则会改动哪些词。
正则表达式与分组
开启“正则表达式”后,查找框中的内容会被当作模式来解析,而不是纯文本。括号会捕获匹配的一部分,替换框中可以用 $1、$2 等引用捕获的文本。在查找框中输入 (\w+)@(\w+),替换框中输入 $2 at $1,文本 ana@site 就会变成 site at ana。代码 $& 代表整个匹配内容。
特殊字符的含义也会随之改变。在非正则模式下,点号就是一个普通的点。在正则模式下,点号会匹配任意单个字符,因此模式 1.5 也会匹配 1x5。如果你不确定文本中是否含有特殊字符,请关闭正则模式,并按原样输入。关于一组示例模式,请参见查找替换中的正则表达式。
替换框中的美元符号
在非正则模式下,替换框中的内容会按原样使用,因此 $5 会被原样插入为 $5。开启正则模式后,美元符号具有特殊含义:$1 指代分组,$& 指代整个匹配内容,$$ 表示一个美元符号。若要在开启正则模式时插入文本 $5,请输入 $$5。
换行与制表符
若要在替换框中插入换行或制表符,请开启 Read \n and \t in Replace。此时这两个代码会分别插入换行和制表符。若要查找换行,请开启正则模式,并在查找框中输入 \n,因为普通查找框会把 \n 当作两个字符处理。如果文本来自断行的 PDF 或网页,请先用修复粘贴文本处理断行。
复制前请先检查
复制结果前,请检查以下四项:
- 匹配数量。如果你预计会改 12 处,而工具显示 40 处,很可能有某个词匹配到了其他词的内部。
- 高亮预览。它会标出原文中的每一处匹配,包括你不想改的部分。
- 替换结果。请阅读每处改动前后的句子,而不只是看改动的那个词。
- 原文。请保留初始文本。工具不保存历史记录,所以原文是你唯一的撤销方式。
处理长文档时,可以把修改前后的版本粘贴到比较文本中。它会列出所有改动过的行,并在每行中标出改动的词。
在 fixmint 中操作
- 将文本粘贴到你的文本中。
- 在查找中输入要修改的词,在替换为中输入新词。若要删除匹配内容,请将替换为留空。
- 勾选仅全字匹配;若大小写会影响含义,再勾选区分大小写。处理普通单词时保持正则表达式关闭。
- 检查匹配数量和高亮的匹配项,然后点击复制结果或下载 .txt。
特殊情况
- 替换框为空。 匹配内容会被删除。这适合去掉多余的词,但请先确认数量。
- 替换内容包含原匹配内容。 替换只会对原文执行一次。把 banana 中的 a 替换为 aa,结果是 baanaanaa,不会循环替换。
- 无效模式。 未闭合的分组,例如
(abc,会以简短提示报错,在模式有效之前不会显示结果。 - 匹配数量非常多。 预览只会高亮前 5,000 处匹配,但所有匹配项仍会被替换。
常见问题速答
为什么替换时改到了其他单词里的字符?
没有开启“仅全字匹配”。开启后,请将匹配数量与你的预期进行比对。
为什么点号匹配到了错误的内容?
正则表达式已开启,点号会匹配任意字符。处理普通文本时请关闭正则表达式,或输入 \. 来匹配真正的点号。
如何查找换行?
开启正则表达式,并在查找框中输入 \n。
由 AI 辅助翻译自英文原文。
评论
还没有评论。快来抢沙发。


