我正在尝试从看起来像这样的值列表中删除文本:
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
非常感谢
答案 0 :(得分:1)
如果文本字符总是在字符串的数字部分之后 ,那么您可以简单地使用Val()
函数在字符串的开头返回数字。如果不是这样,并且您希望使用正则表达式,则可以尝试将模式设置为(\d+\.?(\d?)+)
,该模式应在字符串中的任意位置选择十进制数字。