vb 一个关于字符串处理的问题

来源:百度知道 编辑:UC知道 时间:2024/06/29 01:10:13
比如:text2的内容为:
“var hq_str_sh601919="中国远洋,10.81,10.81,11.19,11.25,10.53,11.19,11.20,87846502,960062653,19800,11.19,125100,11.18,99218,11.17,137500,11.16,345491,11.15,858230,11.20,109411,11.21,207790,11.22,147500,11.23,149812,11.24,2009-02-20,15:03:31";”(此字符串只是做一个参考,到了实际应用可能字符串就不同了),我想获得字符串中第一个逗号与第二个逗号之间的内容(在这里也就是“10.81”)请问怎么做(急用)?谢谢。
那如果想获取其他符号或者字符之间的内容,那又该怎么做?

方法很多,你可以用left和right函数截取
但是最笨的方法,也是最简单的如下
dim a '动态数组a
a=split(b,',') 'b就是你那串被截取的话

这个时候,a(1)就是你要的10.81
因为你是用 ,开头的,所以a(0)是空值。

Dim a$, b$, c&, d&, e&, f&, g&(1 To 2)

c = Len(Text2.Text)
For d = 1 To c
a = Mid(Text2.Text, d, 1)
If a = "," Then e = e + 1: g(e) = d
If e = 2 Then Exit For
Next d
b = Mid(Text2.Text, g(1) + 1, g(2) - g(1) - 1) 'b 值就是你要的值。

Sub MySplit()

dim Mi as integer
dim MyVar() as string
dim hq_str_sh601919 as string
hq_str_sh601919="中国远...." '你的字符串,在此省略
myvar = split(hq_str_sh601919,",") '如果你的字符串不是用逗号分隔,而是其它符号,则将引号内的逗号改为相应的分隔符号
msgbox myvar(1) '这就是你要的数据

'假如你想全部数据都要,则用以下循环语句
for Mi = 0 to ubound(myvar)
msgbox myvar(Mi)
next Mi

End Sub

split(文字,",")