首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Excel自定义正则表达式函数处理复杂文本数据

这是一个简单的案例:提取数字

前面我们也讲过用MID函数截取,编写公式很复杂。

今天我们用自定义正则函数来提取数字:

第一步:制作自定义正则函数

Function ExStr(Str As Range, Parttern As String, ActionID As Integer, Optional RepStr As String = "")

  Dim regex As Object

  Set regex = CreateObject("vbscript.regexp")

  With regex

      .Global = True

      .IgnoreCase = True

      .MultiLine = True

      .Pattern = Parttern

  End With

  Select Case ActionID

      Case 1:

          ExStr = regex.Replace(Str, RepStr)

      Case 2:

          ExStr = regex.test(Str)

      Case 3:

          Dim matches As Object

          Set matches = regex.Execute(Str)

          For Each Match In matches

              ExStr = ExStr & Match.Value

          Next

  End Select

End Function

这个自定义函数有4个参数:

要处理的单元格--第一参数

正则表达式------第二参数

处理选项:1--替换

              2--判断

              3--提取

                         ----  第三参数

分隔符号:默认是空白--第四参数

第二步:文件保存为启用宏的工作簿,就可以来测试这个函数

我们只用了3个参数:

第一个参数:文本列

第二个参数:“\d”   正则表达式中“\d"的含义是,匹配0-9的数字

第三个参数:选项1:将数字替换掉

                      选项2:判断文本中是否包含数字

                      选项3:提取数字

第四个参数:默认是”“

接下来就是要学习正则表达式了,这个需要各位自己去找资料学习。

正则表达式,在数据清洗工作中的作用是无可替代的。

这个自定义函数也可以作为学习正则表达式的工具

来测试自己写的正则表达式

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180225A12D6H00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券