文本替换点号怎么把整行改没了?普通查找与正则模式要分开
文本替换
点击使用相关工具
准备把文件名里的英文点号换成短横线,却把字母和空格也换掉了,先检查“正则表达式”有没有勾选。同一个点号,在本站文本替换的两种模式中表示不同的查找规则。确定要找的就是一个字符时,普通模式通常更省事;要按内容规律替换时,再启用正则。
先拿11个字符做一次对照
在“输入文本”粘贴a.b aXb a.b,查找内容填.,替换为填-。这里共有两个英文点号;中间的aXb是故意放入的对照,正常替换点号时它应该保留。
- 不勾“正则表达式”,勾“全部替换”,点击“替换”:得到
a-b aXb a-b。 - 保持普通模式,取消“全部替换”后再点击:得到
a-b aXb a.b,只改原始输入中的第一处点号。 - 勾回“全部替换”,再勾“正则表达式”,查找仍为
.:得到11个短横线-----------,因为正则点号匹配这一行中的字母、空格和点号。 - 仍用正则模式,把查找改成
\.,再次执行:得到a-b aXb a-b。反斜杠让点号按字面含义匹配。
这几次操作都从上方原始输入重新计算,不会接着修改下方的上一次结果。想连续做两轮不同替换,要把第一轮结果核对后复制回输入区,再执行第二轮。普通查找里直接填点号即可,不需要额外添加反斜杠。
日期批量改分隔符时,分组能保留原数字
要把下面两行改成斜杠日期,先更换输入文本,不要沿用刚才的点号样本:
2026-10-13 2026-10-14
勾“正则表达式”和“全部替换”;“查找内容”填([0-9]{4})-([0-9]{2})-([0-9]{2}),“替换为”填$1/$2/$3。三个括号分别保存四位年份、两位月份和两位日期;$1、$2、$3取回对应数字,输出应是:
2026/10/13 2026/10/14
取消“全部替换”会只改整段输入中的第一处匹配,并非每行改一次。当前页面采用JavaScript的正则与替换字符串规则,不能直接照搬其他编辑器中的反向引用写法,也不要把带斜杠的/模式/g整体填进查找框;页面复选框已经负责是否全部替换和是否忽略大小写。
这个日期模式只匹配数字形状,不验证真实日历。2026-99-99也可能被改成斜杠形式;月份只有一位的2026-1-3则不符合上述两位数规则。日期有效性与分隔符替换是两回事,不能拿替换成功当作日期校验通过。
结果看着没变,先排查哪一步
先核对当前勾选项,再看查找内容是否与原文完全对应。英文点号“.”与中文句号“。”不同,半角空格与全角空格也不同。“忽略大小写”只影响查找时的大小写匹配,不会统一未匹配部分的字母。若需要先清理行首尾空白再处理重复行,可以另用文本处理工作流,不要为了省一步写一个自己尚未验证的复杂正则。
查找框为空时,页面会提示输入查找内容。正则模式下只输入一个左方括号[会提示“正则表达式错误”;本次不会生成新结果,之前的输出仍可能留在下方。修正模式后再次执行,核对新的结果再复制,不能只因为结果框里已有文字就认定这轮成功。
当前界面没有多行锚点或点号匹配换行的独立选项。正则点号通常不匹配换行,因此不要从单行样本的11个短横线推断它会清空多行间的换行。用涉及括号、贪婪匹配或长文本的规则前,先用一小段带反例的文本试跑,再用文本对比检查实际改动范围。页面处理粘贴的文字,不会自动遍历文件夹或改写原文件。
替换为空,会删除匹配内容吗?
会。替换框可留空,但查找框不能留空。删除后先确认是否把必要分隔符一并删掉,再将结果用到业务数据中。
查找普通字符,就保证替换为中的美元符号按原样输出吗?
不能这样假定。即使查找用普通模式,替换字符串仍采用JavaScript的规则,$&等组合可能引用匹配内容,$$表示一个字面的美元符号。替换文本含美元符号时,先用小样本核对;普通查找只决定如何寻找目标,不会取消替换字符串的特殊语法。