Vba 从字符串中分离数字
是将第二个数字与此字符串分开的任何简单方法(数字可能有太多数字): 并将其分配给variable2?我尝试了以下代码:Vba 从字符串中分离数字,vba,excel,split,Vba,Excel,Split,是将第二个数字与此字符串分开的任何简单方法(数字可能有太多数字): 并将其分配给variable2?我尝试了以下代码: temporary = split(variable) variable2 = temporary(4) 'Now i don't know how to separate i from "(" and "e" 下面是使用正则表达式返回字符串中第二个数字(或连续数字)的一种方法: Dim variable As String Dim variable2 As Long Di
temporary = split(variable)
variable2 = temporary(4) 'Now i don't know how to separate i from "(" and "e"
下面是使用正则表达式返回字符串中第二个数字(或连续数字)的一种方法:
Dim variable As String
Dim variable2 As Long
Dim RE As Object
variable = "Test +5 test (1e8+2)" 'in this case 1
Set RE = CreateObject("vbscript.regexp")
With RE
.Pattern = "\D*\d\D*(\d+).*"
variable2 = .Replace(variable, "$1")
End With
如果第一个数字也可以是多个数字,请将第一个\d更改为\d+我假设
测试+5测试(1e8+2)
是一个字符串,因为您使用了拆分。variable2=Mid(临时的(4),2,1)
能满足您的要求吗?如果没有,您需要澄清您的问题。@TonyDallimore在本例中variable2必须包含1。我没有检查您的代码。它应该是临时的(3)
而不是临时的(4)
Mid(临时(3),2,1)
提取temporary(3)
的第二个字符,即“1”。
Dim variable As String
Dim variable2 As Long
Dim RE As Object
variable = "Test +5 test (1e8+2)" 'in this case 1
Set RE = CreateObject("vbscript.regexp")
With RE
.Pattern = "\D*\d\D*(\d+).*"
variable2 = .Replace(variable, "$1")
End With