我的目标:让中国的大学生走出校门的那一刻就已经具备这些Office技能,让职场人士能高效使用Office为其服务。支持鹏哥,也为自己加油!
我们来看看下面的案例:
上图中要求把A列数据中学号和姓名拆分开来,通过前面几节的介绍,相信大家解决这个问题已经不难了。
匹配学号部分:
pattern="[N\d+-]",中括号里面的任意一个都是匹配的对象,所以就能匹配出大写的N,数字部分,还有横杠部分。
匹配姓名部分:
pattern="[^N\d+-]",上节中我们讲过首尾锚定,脱字符号在中括号外面就是首部锚定,脱字符号放在中括号里面代表否的意思,就是正好和中括号中表示的字符类型相反的类型。
正则表达式部分我们已经解决了,剩下的事情就是分两个部分,分别写表达式,分别提取出学号和姓名放到相应位置。
如果把两个正则表达式放到数组中,我们就可以去循环表达式了。
代码如下:
- Dim regx As Object, ar, n%, rng As Range
复制代码- Set regx = CreateObject("vbscript.regexp")
复制代码- For Each ar In Array("[^N\d+-]", "[N\d+-]")
复制代码- Cells(rng.Row, n + 1) = .Replace(rng, "")
复制代码 这就是正则表达式与数组结合的应用,省去了写两段代码的麻烦。
本节的分享就到这里,鹏哥祝大家每天都有进步。
学习技术,提升工作效率。
从基础操作到VBA,
两杯咖啡的钱,
换取一份如此详细的Excel视频资料,
你还在犹豫?
欲购从速,联系微信号:527240310
非诚勿扰!
每天进步一点,每天提升一点!
|
|