Regex 使用VBA从字符串中删除文本
我试图从如下值列表中删除文本:Regex 使用VBA从字符串中删除文本,regex,vba,Regex,Vba,我试图从如下值列表中删除文本: 3.5S 4PR 2.5 4 我在VBA中尝试了以下操作: Function StripChar(Txt As String) As String With CreateObject("VBScript.RegExp") .Global = True .Pattern = "\D" StripChar = .Replace(Txt, "") End With End Function 但是,这也会删除列表中的小数点,给出: 35 4 25 4 我的目标是:
3.5S
4PR
2.5
4
我在VBA中尝试了以下操作:
Function StripChar(Txt As String) As String
With CreateObject("VBScript.RegExp")
.Global = True
.Pattern = "\D"
StripChar = .Replace(Txt, "")
End With
End Function
但是,这也会删除列表中的小数点,给出:
35
4
25
4
我的目标是:
3.5
4
2.5
4
非常感谢如果文本字符总是在字符串的数字部分之后,那么您只需使用
Val()
函数返回字符串开头的数字即可。如果没有,并且您想坚持使用正则表达式,那么您可以尝试将模式设置为(\d+\?(\d?+)
,该模式应该在字符串中的任意位置拾取十进制数