专业编程基础技术教程

网站首页 > 基础教程 正文

VBA与Excel入门系列-12-正则表达式(上篇)

ccvgpt 2024-12-07 09:56:19 基础教程 1 ℃
  • 系统环境:Windows 10
  • Excel:2010版本


想提取字符串内特定信息怎么办?
正则表达式,Regular Expression,了解一下

VBA与Excel入门系列-12-正则表达式(上篇)



Part 1:概念介绍

    1. 正则表达式,是一种字符串搜索技术,在很多不同的语言中都存在
    2. 例如字符串qwer23yhg2ng23gbf,提取其中的数字



Part 2:VBA中如何使用正则表达式

  • 正则表达式,类似于FSO,需要后期创建引用才可以使用(前期绑定这里不介绍了)
set myReg=CreateObject("VBSCRIPT.REGEXP")
  • 主要含有3个参数,GlobalIgnoreCasePattern
  1. Global表示是否全局匹配,取值True,FalseFalse只匹配第一个
  2. IgnoreCase是否区分大小写
  3. Pattern最关键的参数,采用何种方式匹配

Part 3:代码

Sub test()
    S = "qwer23yhg2ng23gbf"

    Set myReg = CreateObject("VBSCRIPT.REGEXP")

    With myReg
        .Pattern = "\D"
        .Global = True
        .IgnoreCase = True
        NewS = .Replace(S, "")
    End With

    Debug.Print ("NewS=" & NewS)

End Sub



Part 4:部分代码解读

  • \D”匹配所有非数字
  • myReg.replace(待替换的字符串替换满足Pattern规则的字符)



以上,为本次的介绍内容,下回见。

本文首发于微信公众号:Excel高效办公之VBA。排版和细节略作修改,发于头条

Tags:

最近发表
标签列表