我的目标:让中国的大学生走出校门的那一刻就已经具备这些Office技能,让职场人士能高效使用Office为其服务。支持鹏哥,也为自己加油!
先来看一个案例:
如上图:序号和后面的标题写在了一起,有的序号是一位数字,有的是两位数字,有的是三位数字,还有五位数字的。另外,序号和标题之间有的是顿号连接、有的是冒号连接,有的是空格连接,还有的没有任何分割符号直接连接在一起的。
现在需要把后面的标题提取出来。
根据我们前面几节学习的知识,我们只要利用一个表达式把标题前面的数字和分割符号匹配出来,然后替换为空白就可以了。
元字符“\d”表示任意一个数字,因为案例中数字位数不确定,所以用量词“+”来匹配多位数字,这样数字部分就可以匹配出来了。
数字与标题之间的空格、冒号、顿号怎么表示呢?
我们可以用[ :、]来表示,类似[a-z]表示a到z的任意一个字母,[123]表示1或者2或者3,这样的表达方式就叫字符组,由一些字符组成一个集合,表示匹配该集合中任意一个字符。
因为有的序号和标题之间直接相连,所以我们用“\d+[ :、]?”,量词?表示出现0次或1次,出现0次就代表啥都没有,也就是序号和标题直接相连的情况。
上面的案例代码如下:
- Dim regx As Object, rng As Range, n
复制代码- Set regx = CreateObject("vbscript.regexp")
复制代码- Cells(n, 2) = .Replace(rng, "")
复制代码 向右滑动可以查看完整代码
字符组在前几节的内容中也出现过,在这节我们提了下它的概念,让大家知道到字符组到底是什么意思。
本节的分享就到这里,鹏哥祝大家每天都有进步。
学习点VBA技术,从此高效工作!
从基础操作到VBA,
两杯咖啡的钱,
换取一份如此详细的Excel视频资料,
你还在犹豫?
欲购从速,联系微信号:527240310
非诚勿扰!
每天进步一点,每天提升一点!
|
|