VB截取截取字符串问题

text1.text中:

{name:"aaa",QQ:"123456"}
{name:"bbb",QQ:"2222222"}
{name:"ccc",QQ:"45646546"}
{name:"ddd",QQ:"987987"}
{name:"ggg",QQ:"555556"}

如何将name全列在list1中
QQ全列在list2中

如:list1:
aaa
bbb
ccc
ddd
ggg

list2:
123456
2222222
45646546
987987
555556

复制粘贴即可:

Private Sub Command1_Click()
On Local Error Resume Next
Dim i As Integer, Q() As String, T() As String, NameStr As String, QQStr As String
Q = Split(Text1.Text, "}" & vbCrLf)
List1.Clear: List2.Clear
For i = 0 To UBound(Q)
If Q(i) = vbNullString Then Exit For
T = Split(Q(i), ",")
NameStr = Split(T(0), ":")(1)
QQStr = Split(T(1), ":")(1)
List1.AddItem Replace(NameStr, Chr(34), vbNullString)
List2.AddItem Replace(QQStr, Chr(34), vbNullString)
Next
End Sub
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-03-27
Private Sub Command1_Click()
aa = Split(Text1.Text, "{name:""")
bb = Split(Text1.Text, "QQ:""")
List1.Clear
List2.Clear
For n = 1 To UBound(aa)
List1.AddItem Left(aa(n), InStr(aa(n), """") - 1)
Next
For n = 1 To UBound(bb)
List2.AddItem Left(bb(n), InStr(bb(n), """") - 1)
Next
End Sub
第2个回答  2010-03-27
Private Sub Command1_Click() '截取字符串
Dim tmpStr As String
For i = 0 To Split(Text1, vbLf)
tmpStr = Split(Split(i, ",")(0), ":")(1)
List1.AddItem Mid(tmpStr, 1, Len(tmpStr) - 2)
tmpStr = Split(Split(i, ",")(1), ":")(1)
List1.AddItem Mid(tmpStr, 1, Len(tmpStr) - 3)
End Sub '未测试 如果有错请通知
第3个回答  2010-03-27
Private Sub Command1_Click()
Dim a, b$, i&
b$ = Text1
b = Replace(b, """", ",")
List1.Clear
List1.Clear
a = Split(b, ",")
For i = 1 To UBound(a) Step 5
List1.AddItem a(i)
List2.AddItem a(i + 3)
Next
End Sub
相似回答