答案 0 :(得分:3)
您可以在替换表达式中使用此模式:
reg.Pattern = "[^\d-]+"
Debug.Print reg.Replace(yourstring, "")
答案 1 :(得分:0)
除非对“BI。01 - 03”之类的内容有更完整的描述,否则:
^.*(\d{2}\s?-\s?\d{2}).*$
将捕获你似乎感兴趣的部分作为第1组。如果你想要摆脱这些空间,那么就像:
^.*(\d{2})\s?-\s?(\d{2}).*$
可能更适合,在第1组和第2组中有两个数字,并且可以替换输出中的连字符。
答案 2 :(得分:0)
这是一个带有非RegEx方法的函数,用于删除除给定输入字符串中的数字和连字符之外的任何内容:
Function removeBadChars(sInput As String) As String
Dim i As Integer
Dim sResult As String
Dim sChr As String
For i = 1 To Len(sInput)
sChr = Mid(sInput, i, 1)
If IsNumeric(sChr) Or sChr = "-" Then
sResult = sResult & sChr
End If
Next
removeBadChars = sResult
End Function