不用正则表达式 = 我真傻,真的……
编辑书的时候,经常需要向市场营销部门提供一些供网上书店使用的文案,比如目录、样章等。把目录从Word文档拷贝到TXT,总是得到类似这样的结果:
---------------------------------------
前言 xv
第6章 汇编编译器 103
6.1 背景知识 104
6.2 Hack汇编到二进制的翻译规范详述 107
6.2.1 语法规约和文件格式 107
6.2.2 指令 108
6.2.3 符号 110
6.2.4 范例 111
6.3 实现 112
6.3.1 Parser模块 112
6.3.2 Code模块 114
---------------------------------------
目录文字与页码之间有一个Tab符,这是Word文档中制作目录时的格式,Tab后面跟着页码数。想要删除每行后面跟着的Tab符和页码,笨办法就是一行一行地手动删除。其实早就了解正则表达式,可在面对许多实际问题的时候总也想不起来使用它。
不少文本编辑器(比如我常用的EmEditor——什么,你没有用过?没有用过那分明就是白活了……)的查找替换功能都提供对正则表达式的支持,如果利用正则表达式来删除每行的Tab和页码,整件事情就特别简单:
将 "/t/S{1,3}" 全部替换成空字符串""就能得到:
---------------------------------------
前言
第6章 汇编编译器
6.1 背景知识
6.2 Hack汇编到二进制的翻译规范详述
6.2.1 语法规约和文件格式
6.2.2 指令
6.2.3 符号
6.2.4 范例
6.3 实现
6.3.1 Parser模块
6.3.2 Code模块
---------------------------------------
终于想起来利用正则表达式时的感言:我真傻,真的……
编辑书的时候,经常需要向市场营销部门提供一些供网上书店使用的文案,比如目录、样章等。把目录从Word文档拷贝到TXT,总是得到类似这样的结果:
---------------------------------------
前言 xv
第6章 汇编编译器 103
6.1 背景知识 104
6.2 Hack汇编到二进制的翻译规范详述 107
6.2.1 语法规约和文件格式 107
6.2.2 指令 108
6.2.3 符号 110
6.2.4 范例 111
6.3 实现 112
6.3.1 Parser模块 112
6.3.2 Code模块 114
---------------------------------------
目录文字与页码之间有一个Tab符,这是Word文档中制作目录时的格式,Tab后面跟着页码数。想要删除每行后面跟着的Tab符和页码,笨办法就是一行一行地手动删除。其实早就了解正则表达式,可在面对许多实际问题的时候总也想不起来使用它。
不少文本编辑器(比如我常用的EmEditor——什么,你没有用过?没有用过那分明就是白活了……)的查找替换功能都提供对正则表达式的支持,如果利用正则表达式来删除每行的Tab和页码,整件事情就特别简单:
将 "/t/S{1,3}" 全部替换成空字符串""就能得到:
---------------------------------------
前言
第6章 汇编编译器
6.1 背景知识
6.2 Hack汇编到二进制的翻译规范详述
6.2.1 语法规约和文件格式
6.2.2 指令
6.2.3 符号
6.2.4 范例
6.3 实现
6.3.1 Parser模块
6.3.2 Code模块
---------------------------------------
终于想起来利用正则表达式时的感言:我真傻,真的……