专栏首页35岁开始自学编程如何批量添加中文和英文数字之间的空格?用正则表达式吧

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • pandas数据分析输出excel产生文本形式存储的百分比数据,如何处理?

    我用 python pandas 写了数据统计与分析脚本,并把计算结果用 pandas 的 to_excel() 存入到 excel 表格提交给团队。但遇到一个...

    刘娟娟PRESSone
  • mysql 数据分析如何实现日报、周报、月报和年报?

    以天为统计周期,是常见需求。周报、月报更是常见需求。长周期项目,甚至有年报需求。我已经掌握了mysql中按天统计,如何实现按年、按月、按周统计呢?

    刘娟娟PRESSone
  • 学习的最大动力是想要更加减少重复性工作

    支持脚本。该脚本做成后,变动性很小。——这个调用脚本是写完主处理脚本后,发现主处理脚本变动频繁,想起来为了简化操作,就做了这么个支持脚本。

    刘娟娟PRESSone
  • 数字营销从业者必读 --- 7种数字营销策略完全指南

    引言:本文分享了7种数字营销策略的清单,营销人员可以通过这些策略来帮助他们的团队和业务发展,同时我们还制定了关于数字策略和营销活动的速成课程。 翻译 | 陈明艳...

    iCDO互联网数据官
  • 学界 | 对话IJCAI2019特邀讲者Leslie Kaelbling: 与AI和机器人结缘背后的故事

    AI 科技评论按:IJCAI(国际人工智能联合会议,International Joint Conferences on Artificial Intellig...

    AI研习社
  • 动态 | 谷歌发布TensorFlow Lattice:得益于先验知识,提升模型泛化能力

    AI科技评论消息:近日,谷歌科学家发布TensorFlow Lattice,这是一套预建的TensorFlow Estimators,易于使用,它相当于是Ten...

    AI科技评论
  • 【官方文档】mysql gap lock next-key lock

    gap lock不需要用于那些使用唯一索引锁住行来查找唯一行的语句。(这不包括一个情况,那就是当查询条件包含了复合唯一索引的一部分时,gap lock确实会存在...

    平凡的学生族
  • 华为网络整体解决方案 | 整体布局思想一定要有!

    企业园区网络承载企业所有IT基础设施和企业所有上层软件应用,对一个企业的重要性不言而喻。而且随着企业对于提高生产率、工作效率提升的重视,传统的办公方式也已存在诸...

    网络技术联盟站
  • 自己总结的,苦心总结的linux命令

    IT故事会
  • 【RSA2019创新沙盒】Axonius:融合多方系统的插件化资产管理

    Axonius是一家做网络安全资产管理平台(cybersecurity asset management platform)的公司,该平台主要功能是对用户的设备...

    绿盟科技研究通讯

扫码关注云+社区

领取腾讯云代金券