VBA中的正则表达式(四)

VBA中的正则表达式(四)

——Replace和Test方法

一、Replace方法

1. Replace作用

将文本中的某一串符合正则表达式规则的文本替换成新的文本。

2. Replace用法

代码.Replace(string1,string2)
string1最初的字符串,原文本。下面案例中的参数为mytxt
string2新的字符串,替换掉原文本后,将以此文本覆盖。下面案例中的参数为newword

该方法会返回一个新的、替换后的文本。

如果字符串中没有找到符合正则表达式规则的文本,则不发生匹配,返回原始的字符串(string1)

3. Replace案例

Sub regular_study()
    '创建正则表达式对象,并命名为re
    Dim re As Object
    Set re = CreateObject("VBScript.RegExp")
    With re
        .Global = True '匹配字符串中,所有与正则表达式规则相符的地方
        .IgnoreCase = False '匹配时区分大小写
        'mytxt为案例的文本
        mytxt = "欢迎学习HiMacroSpider正则表达式系列课程!"
        .Pattern = "\w+" '设置需要查找文本的特征(多个字母),找到“HiMacroSpider”字符
        newword = "宏蜘蛛"
        newtxt = .Replace(mytxt, newword) '将原文本中的“HiMacroSpider”,替换成“宏蜘蛛”
        Debug.Print "替换前文本:" & mytxt
        Debug.Print "替换后文本:" & newtxt
    End With
End Sub

4. Replace案例输出结果↓

替换前文本:欢迎学习HiMacroSpider正则表达式系列课程!
替换后文本:欢迎学习宏蜘蛛正则表达式系列课程!

从输出结果可以看出,Replace方法根据Pattern处设置的正则表达式规则,找到原文本中的“HiMacroSpider”字符,然后将其替换为新字符“宏蜘蛛”,并返回替换后的最新字符串newtxt

二、Test方法

1. Test作用

判断某一字符串中是否含有正则表达式规则的字符串,如果含有,则返回True;如果不含有则返回False

2. Test用法

代码.test(string)
string需要判断的字符串

3. Test案例

Sub regular_study_test()
    Set re = CreateObject("VBScript.RegExp")
    With re
        .Pattern = "^\([0-9]{3}\)[0-9]{3}-[0-9]{4}" '设置电话格式,^表示(需要在字符串开头
        .Global = True
        .IgnoreCase = True
        s = "(123)123-1234"
        If .test(s) Then
        Debug.Print s & "符合格式要求!"
        Else
        Debug.Print s & "不符合格式要求!"
        End If
    End With
End Sub

4. Test案例输出结果↓

(123)123-1234符合格式要求!

三、总结

1. Replace方法总结

根据Pattern属性设置的规则,从目标文本中,找到符合规则的部分,并将此部分替换为新的字符串。

2. Test方法总结

根据Pattern属性设置的规则,判断目标文本中是否有符合规则的字符串,如有则返回True,如无则返回False

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值