我正在尝试从此表达式中提取第一组数字“CSTAR ADJ REF#A-3080101078AZ Keying错误存款$ 058,710.33 05/20/2011项目键控”。也就是说,我想在相邻的单元格中仅得到“3080101078”。
我尝试过使用它:
Function CleanString(strIn As String) As String
Dim objRegex
Set objRegex = CreateObject("vbscript.regexp")
With objRegex
.Global = True
.Pattern = "[^0-9\s]"
CleanString= Trim(.Replace(strIn, vbNullString))
End With
End Function
这是“3080101078 93871033 05202011”。我怎样才能获得第一组数字(3080101078)?
答案 0 :(得分:0)
试试这个
Function CleanString(strIn As String) As String
Dim objRegex As Object
Set objRegex = CreateObject("vbscript.regexp")
With objRegex
.Global = True
.Pattern = "\d+"
CleanString = .Execute(strIn)(0)
End With
End Function
\d+
=任意数字,一个或多个
.Execute(strIn)
对输入执行正则表达式,返回MatchCollection
.Execute(strIn)(0)
返回匹配集合中的第一项