大家好,欢迎来到IT知识分享网。
利用正则表达式提取数字或字母,是十分简单高效的方法,前提是完全掌握正则表达式的应用方法。
本文将介绍一下,如何在混合数据中提取字母、数字或者字符。
提取结果如下图所示:
提取数字:
提取字母:
提取字符:
按钮代码:
Private Sub CommandButton1_Click() GetxStr, 1 End Sub Private Sub CommandButton2_Click() GetxStr, 2 End Sub Private Sub CommandButton3_Click() GetxStr, 3 End Sub
模块代码:
Sub GetxStr(ni As Integer) Dim xR as Range set xR=Range("B2:B4") Dim xStr As String Select Case ni Case 1 xStr = "\d+(\.\d+)?" ' 匹配数字 Case 2 xStr = "[A-Z]" '匹配字母 Case 3 xStr = "\W" '匹配非单词字符 End Select Dim xReg As RegExp Dim xMatchs As MatchCollection Dim xMatch As Match Dim R As Range For Each R In xR Set xReg = New RegExp With xReg .Global = True .IgnoreCase = True .Pattern = xStr ' "\d+(\.\d+)?" Set xMatchs = .Execute(R.Text) R.Offset(0, 1).Value = "" For Each xMatch In xMatchs R.Offset(0, 1).Value = R.Offset(0, 1).Value & xMatch.Value Next End With Next R Set R = Nothing Set xReg = Nothing End Sub
表达式解释:
\d |
与任何十进制数字匹配 |
[A-Z] |
与A~Z字母匹配 |
\W |
与任何非单词字符匹配 |
END
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/94172.html