发布日期:2026-09-07 浏览次数:3
上周有个做行政的读者找我,说领导扔给她一份两百多人的名单,要求把手机号中间四位全换成星号。她一个个手动删,折腾了快俩小时。我听完就问她:你为啥不用通配符?她回了一串问号。对,你没看错。
好吧,这坑还真不止她一个人踩。WPS的查找替换,大家天天用。但那个缩在角落里的“通配符”选项,知道的人没几个。也不怪大家,它藏得确实有点深。
说白了,通配符就是给查找替换加个“模糊匹配”的开关。平时你敲“张三”,它就只认“张三”这俩字,多一个标点都不行。开了通配符之后呢,你就能用一个符号去代表一串你不知道具体是啥的内容。就离谱。
比如你想找文档里所有“张”开头的人名,怎么办?用“张*”就能全找到。
WPS查找替换通配符的核心逻辑就一句话:你给个模式,它照着模式去匹配。跟正则表达式有那么点像,但简单得多,普通人花个十分钟就能上手。其实就是给查找加了个脑子。
具体路径是:在WPS文字里按Ctrl+H出查找替换框,然后点一下“高级搜索”,往下拉,就能看到一个小方框,写着“使用通配符”。打上勾,完事。
就这一步,我估计卡了不少人。我当时第一次用的时候也完全没注意到。
打上勾之后,你输入的某些字符含义就变了。具体哪些字符,看下面这张表。别死记,用的时候回来看一眼就行。
别慌。看着复杂,其实最常用的就前两个。先把?和*搞明白,其他等真碰到需求了再回来翻。
光讲理论多没劲。我把自己平时最常用的几个场景整理出来了,你直接照着套就行。
就前面那个行政妹子遇到的问题。假设手机号格式都是11位、1开头,比如13812345678。
查找框里输:(13[0-9])([0-9]{4})([0-9]{4})
替换框输入:\1****\3
这里用到了括号分组。WPS通配符里,括号会把内容拆成小组,替换的时候用\1、\2、\3去引用对应小组。中间那组四个数字就被换成四个星号。
不过这写法对新手来说有点劝退。更简单的做法是分两步:先勾选通配符,查找[0-9]{4},替换成****。注意要在“替换范围”里选“主文档”,点“全部替换”之前,先点“查找下一处”看看效果。害,说白了就是得多试。
这个我基本每周都能用上。网页上复制来的文档,引号经常是半角的直引号,排版出来是真的丑。
查找框输入:"(*)"
替换框输入:"\1"
两边换成中文的弯引号就行。不过得注意,如果文档里引号嵌套挺多,这个替换会乱。得换着来,先处理外层,再处理内层。反正实际操作的时候多留个心眼。
从PDF转过来的文档,空行多得跟星星似的。一个个删,能累死。
查找框输入:^p^p
替换框输入:^p
这里^p是段落标记,两个连续的段落标记就是一个空行。全替换成单个段落标记,空行就没了。多点几次“全部替换”,直到提示替换数量变成0。
还真别说,这个操作结束之后,整个文档看起来清爽多了,效果出乎意料!
做报表的人应该深有体会,日期格式不统一能逼死强迫症。
查找框输入:([0-9]{4})/([0-9]{1,2})/([0-9]{1,2})
替换框输入:\1-0\2-0\3
有个坑啊,如果原文档里已经有“2024/05/06”这种带零的格式,替换后会变成“2024-005-006”,怪怪的。所以替换的时候注意先点“查找下一处”预览一下。这个看情况,不能盲目全部替换。
PDF转的Word文档有个通病:每行结尾有个手动换行符^l,排版全乱。整段内容被切得稀碎。
查找框输入:^l
替换框输入: (一个空格)
但是注意,这个操作会把所有手动换行都变成空格。如果原文里有些地方确实需要换行,那就麻烦了。所以我一般先复制一份再操作,或者先用“查找下一处”过一遍。
这个稍微进阶一点。查找框输入:第[一二三四五六七八九十百]{1,3}章
然后点什么?不是替换了,是点“在以下范围中查找”,选“主文档”。这样所有“第X章”的地方都会被选中,然后你直接按Ctrl+B加粗。一次搞定。
这招批量设置格式特别管用。加粗、改字体、改颜色都能这么干。
A: 大差不差。核心的通配符语法基本一致,但有些细节不一样。我记得WPS对{n}这种重复次数的支持比Word晚一些,老版本可能不行。另外Word里有些“特殊格式”按钮的选项在WPS里位置不同。你从Word换到WPS的话,操作逻辑是一样的,不用重新学。但如果你用的是WPS特别老的版本——比如2016之前的——最好先升级,新版的WPS Office在通配符支持上完善了不少。
说实话,通配符查找替换不是万能的。有几个问题我得提前给你打预防针。
第一个,通配符替换是不可逆的。点“全部替换”之前一定要备份,或者至少确认替换范围是对的。我那行政朋友第一次操作时忘了把替换范围改成“主文档”,结果只替换了光标后面的内容,前面一百多条手机号纹丝不动,她又得重新来一遍。差点崩溃。
第二个,中文全角符号和英文半角符号的区别。通配符里的括号、问号、星号必须用英文半角输入。如果你在中文输入法下直接敲了全角的()?*,恭喜你,WPS会当普通文本去找,啥也匹配不到。这个坑我踩过至少三次,每次都是突然发现“怎么没反应”,然后才反应过来输入法没切。
第三个,先测试再批量。这个不是废话。我每次都是先点几次“查找下一处”,看看匹配的内容是不是我要的。确认没问题了再放开了点“全部替换”。鼓捣了半天才发现规则写错了,重新来一遍的滋味真不好受。
如果你写过代码,可能会问:这不就是阉割版的正则吗?
对,差不多。准确说,它更像是被砍过几刀的正则引擎。WPS的查找替换通配符本质上就是简化版的正则引擎。但问题在于,对95%的日常文档处理需求来说,这套简化语法已经足够用了。
什么情况下不够用?比如你想匹配“以张开头但不是张三的所有名字”,这种反向否定逻辑,通配符里的[!]只能排除单个字符,做不到排除一个词组。这种需求就得靠真正的正则,而WPS查找替换不支持完整正则。那怎么办?要么手动处理,要么用宏,要么换工具。讲道理,真到了这个复杂度,文档多半也不适合在WPS里折腾了。
顺带说一下,WPS里还有一个叫“查找全部”的功能挺好用。它会把所有匹配结果列在一个侧边栏里,你点一条就能跳过去。对需要人工判断的场景,这个比“全部替换”更实用。位置在替换框下面有个“查找全部”的按钮,不显眼,但好用。
WPS查找替换通配符这个东西,用好了是真的能省不少时间。我以前也怕麻烦,觉得学这些花里胡哨的干啥,有需要了再搜教程呗。后来发现,临时搜教程再理解再套用,加起来的时间比平时多用了十倍不止。还不如哪天抽个二十分钟,把上面几个场景自己动手试一遍。
对,你不用背下来。只需要记住“有这个功能”,以及大概能用它干什么。具体符号怎么写,忘了我这篇你随时回来看。
反正我现在处理批量格式问题的时候,已经很少手动一个个改了。不是因为我勤快,恰恰是因为我懒,才愿意花时间去学这些能让自己以后更懒的招。
就离谱。工具越好用,人反而越懒。但话说回来,懒对了地方,不也挺好。
如果这篇内容对你有用,不妨打开WPS新建个文档试试那几个通配符。光看没用,动手敲一遍你才知道问题出在哪。
没有相关标签