word批量删除中英文间的多个空格

时间:2024-03-29 10:20:37


我在网上查到的windows快捷键大全,但是分行做的不好,如下图,看着很不舒服,想重新排版一下,但是其中有单个空格、多个空格、字母、汉字、数字,所以需要批量替换。

word批量删除中英文间的多个空格

1. 先打开word的替换功能框,点击“更多”,在“特殊格式”下可以选择想要替换的通配符。(参考word替换妙用:批量去除多余空格、空行、换行 )

word批量删除中英文间的多个空格


word批量删除中英文间的多个空格


word批量删除中英文间的多个空格

2. 首先,因为整个文本有几十页,单空格和多空格交替间隔,用 不间断空格 即“^s" 去查找替换不起作用。所以我们先把所有空格(单空格和多空格)都替换成手动换行符。在“替换内容 (Find what)”框里选择 空白区域 即"^w", 在“替换为 (Replace with)” 框里选择 手动换行符 即"^l" , 选中需要替换的文本内容,点击“替换所有 (Replace all)”,得到替换后的文本如下图。 

word批量删除中英文间的多个空格word批量删除中英文间的多个空格

3. 接着,我想把每个快捷键对应的中文意思放在同一行,即前一行结尾为英文字母,后一行开头为中文的地方的换行符替换成空格,这里就需要用到通配符了。

先勾选“使用通配符 (Use wildcards)” , 然后在“替换内容”框里输入“([a-z,A-Z])(^l)([!a-z,A-Z])" ,其中 [a-z,A-Z] 表示这个字符是所有大小写英文字母a-z或A-Z中的一个,^l 是手动换行符,[!a-z,A-Z] 表示这个字符是除了大小写字母以外的任何字符(即我想连接的汉字)。整句表示查找第一个字符为大小写字母,第二个字符为换行符,第三个字符为非字母 的地方。(参考word中英文混排文档---删除汉字间多余空格的技巧 )

接着”替换为" 框里输入“\1 \3",注意\1和\3间有一个空格,表示第一个和第三个字符保留不变,第二个字符改成空格。然后选中要替换的文本,点击”替换所有“。得到下图的效果啦:


word批量删除中英文间的多个空格

但是我发现word里还是有一些如下图的因为第一个字符不是字母而没有被处理的地方存在,所以还要进行替换。

word批量删除中英文间的多个空格

4. 把”替换内容“里改成"([+])(^l)([!a-z,A-Z])", 即查找第一个字符为+号,“替换为”里的内容不变,选中文本,点”替换所有“,即把前一行末尾为+号,后一行开头为汉字的地方合并为一行,得到如下图的效果。(其他通配符可看: Word查找栏 代码·通配符一览表

但可以发现,还是有“CTRL +" 和 ”SHIFT + 任何箭头键“ 这两句以及类似的地方没合并,所以还要对第二行开头为字母的进行处理。

word批量删除中英文间的多个空格

把”替换内容“里改成”([+])(^l)([a-z,A-Z])“,即查找第一个字符为+号,第三个字符为大小写字母的地方,”替换为“里的内容不变,选中要替换的文本,点”替换所有",即把前一行末尾为+号,后一行开头为大小写字母的地方合并为一行,得到如下图效果:

word批量删除中英文间的多个空格

5. 另外,还有一些前一段结尾为数字的还没有合并,如F10和后面的汉字没连接上:

word批量删除中英文间的多个空格

也是类似的方法,把”替换内容“改成”([0-9])(^l)([!a-z,A-Z])“,即查找第一个字符为单个数字0-9,第三个字符为非字母的地方,"替换为"的内容不变,选中要替换的文本即全文并“替换所有”,得到如下效果:

word批量删除中英文间的多个空格


6. 最后,放上修改排版成功的文件链接:

链接: http://pan.baidu.com/s/1b1b3aQ 密码: b3b6