使用VBA从字符串中删除文本

时间:2019-09-16 10:00:45

标签: 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.5
4
2.5
4

非常感谢

1 个答案:

答案 0 :(得分:1)

如果文本字符总是在字符串的数字部分之后 ,那么您可以简单地使用Val()函数在字符串的开头返回数字。如果不是这样,并且您希望使用正则表达式,则可以尝试将模式设置为(\d+\.?(\d?)+),该模式应在字符串中的任意位置选择十进制数字。