VB 取字符串中某个数

来源:百度知道 编辑:UC知道 时间:2024/06/23 01:38:21
注意 要取的字符串不固定! 总长度也不固定
也就是mid函数不可直接取
比如如下
F44406000D0429781500
F44406000D0460282800
其他固定 只有297815 602828 不固定
可不可以有函数直接取000D04后面的6位 ? 或者还有其他方法么
1楼能解释下函数的意思么?

s="F44406000D0429781500"
r=mid(s,instr(s,"000D04")+7,6)
表示从查找的000D04+7的位置起取6位,即978150

正则表达式
s="F44406000D0429781500,F44406000D0460282800"
Dim re
Set re = CreateObject("VBScript.RegExp")
re.IgnoreCase = True
re.Global = True
re.Pattern = "F44406000D04(\d{6})00"
For Each i In re.Execute(s)
MsgBox i.SubMatches(0)
Next

x=len(字符串) 测定字符串长度。
l= instr(字符串,"000D04")如果字符串为F44406000D0429781500
话,l=7 ,x=20
如果 l+6+4<20 则
y=mid(字符串,13,6)
y就是你需要的

right与left嵌套取就是了 ……
先把左边过滤掉,再把右边的过滤掉,然后不就是你要的吗?……