作者:绿色风
分类:
时间:2022-08-17
浏览:132
楼主 wise |
Q:如何用VBA正则表达式提取所有的英文单词? A:ALT+F11→插入模块→在模块中输入以下代码:
- Sub 提取所有的英文单词()
- Dim str As String, i As Integer
- Set reg = CreateObject("vbscript.regexp")
- Dim matcher As Object
- '搜索所有匹配的
- reg.Global = True
- '不区分大小写
- reg.ignorecase = True
- str = "wise biaotiger 鸭鸭 amulee rose 兔子"
- '\b匹配一个字边界,即字与空格间的位置。例如,“er\b”匹配“never”中的“er”,但不匹配“verb”中的“er”;w+:匹配一个或多个任何字类字符,包括下划线,与“[A-Za-z0-9_]”等效;\b又是限定边界
- reg.Pattern = "\b\w+\b"
- '使用Execute方法
- Set matcher = reg.Execute(str)
- '循环匹配对象的总数
- For i = 0 To matcher.Count - 1
- '返回对象的索引,即符合条件的数
- Debug.Print matcher.Item(i)
- ' Cells(i + 1, 1) = matcher.Item(i)
- Next i
- End Sub
|
2楼 水星钓鱼 |
Q:如何用正则表达式提取字符串中的英文单词? A:利用RegExp对象的Execute方法构造搜索到的英文单词的集合,然后逐个列出。
- Sub RegExp()
- Dim match As Object
- Dim reg As Object
- Dim test As String
- Set reg = CreateObject("VBScript.RegExp")
- test = "apple big 中文社区 kevin rose Exceltip"
- With reg
- .Global = True
- .Pattern = "[a-zA-Z]+"
- For Each match In .Execute(test)
- MsgBox match
- Next
- End With
- End Sub
|
3楼 bluexuemei |
学习! |
免责声明
有感于原ExcelTip.Net留存知识的价值及部分知识具有的时间限定性因素,
经与ExcelTip.Net站长Apolloh商议并征得其同意,
现将原属ExcelTip.Net的知识帖采集资料于本站点进行展示,
供有需要的人士查询使用,也慰缅曾经的论坛时代。
所示各个帖子的原作者如对版权有异议,
可与本人沟通提出,或于本站点留言,我们会尽快处理。
在此,感谢ExcelTip.Net站长Apolloh的支持,感谢本站点所有人**绿色风(QQ:79664738)**的支持与奉献,特此鸣谢!
------本人网名**KevinChengCW(QQ:1210618015)**原ExcelTip.Net总版主之一