前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >如何批量添加中文和英文数字之间的空格?用正则表达式吧

如何批量添加中文和英文数字之间的空格?用正则表达式吧

作者头像
刘娟娟PRESSone
发布2019-12-02 22:18:47
2.2K0
发布2019-12-02 22:18:47
举报

1、中文与英文数字混合使用,排版有规范

写作中,我们经常遇到以下中文与英文、数字混用的情况。

我自学python编程,是在xue.cn上进行的。时耗方面,基础功仅需50多小时,加上很多实战,包括初步运用pandas和爬虫处理业务需求,加在一起也才200多小时而已。

其实,中文和数字、英文之间有一个空格会更美观。

我自学 python 编程,是在 xue.cn 上进行的。时耗方面,基础功仅需 50 多小时,加上很多实战,包括初步运用 pandas 和爬虫处理业务需求,加在一起也才 200 多小时而已。

但我们可能尚未养成这样的输入习惯,以至于要么全部没有空格,要么部分加了空格,部分没有。当然您可以不在乎这个文本规范。对于那些在意这个文本规范的人,想要规范格式,要么人工逐项修改,偶尔写写短文时这么操作貌似并不麻烦。但日积月累,这也将是一项不菲的时间开销。

要么,可以试试用正则匹配批量处理。——正是我这篇笔记想要分享的。你无须懂编程,也可使用特定工具快速完成批量添加中文和英文数字之间的空格。

我掌握这个技能,最初并非源于我个人写作排版,而是近日处理很多文字内容编辑时的一个刚需。掌握这个技能,帮我显著提高了工作效率,把重复性肌肉劳动大幅度降低。

2、正则表达式省掉千次万次机械操作

我的电脑中可以没有微软或金山的任何办公软件,但不可以没有 vscode 和 jupyter lab。vscode 不仅可以用于写代码,还可用于写文章。工作中需基于 github 协作时,我也采用 vscode 操作。

在 vscode 中存在以下搜索页签,展开具有以下选项:

image
image

第一行 search 填入所应匹配的样式。搜索支持三种模式。普通模式可直接复制粘贴你想要的样式,即便它有换行也是 OK 的。——在常见的办公软件中通常不支持复制粘贴换行,这足见 vscode 的强大实用。

image
image

想要搜索任意中文和数字或英文字母的组合,需要用到以下正则表达式,并启动正则匹配搜索模式:

  • 中文在左,数字或英文字母在右 ([\u4e00-\u9fa5]+)([\da-zA-Z]+)
  • 数字或英文字母在左,中文在右 ([\da-zA-Z]+)([\u4e00-\u9fa5]+)

然后 replace 行填写 $1 $2用于定义格式。

image
image

如果文件非常多,想要对指定文件范围内实施,可以在第 3、4 行分别定义文件范围,所支持的语法当然也是正则表达式啦。

vscode 非常棒的一点在于,此时我已经可以预览修改后的效果,待确认无误后,再点击执行全部替换即可。

回到最初的需求,想要在中文紧挨着英文数字之间增加空格,分别处理中文在左、中文在右两个情况即可完成。是不是很简单呢?

3、背后的原理?10 分钟系统理解正则表达式

这背后的知识点,就是正则表达式。——这并非某种编程语言所特有的,而是几乎所有的编程语言都支持的一种处理。它采用了一些字符构成的语法来描述规则,然后便于对文本实施搜索、捕获、替换等操作。

如果你想要对正则表达式来个 10 分钟系统了解,可访问 xue.cn 以游客模式直接阅读《自学是门手艺》的第 3 章“3.2.4 正则表达式”即可。

这个 github 链接,你将看到我采用这一技巧对自己的编程学习笔记所作出的批量修改。——是的,这么大量的修改,只需一分钟。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-11-27 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1、中文与英文数字混合使用,排版有规范
  • 2、正则表达式省掉千次万次机械操作
  • 3、背后的原理?10 分钟系统理解正则表达式
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档