请教一道VB编程题

来源:百度知道 编辑:UC知道 时间:2024/09/28 14:23:39
从一个由字母与数字相混的字符串中选出数字串,并把数字串构成的数写入一个名为list1的列表框中。
注:每一个数字串占一行。
希望能帮忙写出详细的过程,谢谢啦

Private Sub Command1_Click()
mystr = "20AO9187PL123x322" '字符串变量Mystr
For i = 1 To Len(mystr)
If IsNumeric(Mid(mystr, i, 1)) = True Then
a = a & Mid(mystr, i, 1)
Else
If a <> "" Then List1.AddItem a
a = ""
End If
If i = Len(mystr) Then List1.AddItem a
Next
End Sub

kjkid - 助理 三级 改进版。
晕。楼上抢先一步 不过楼上。如果末尾是数字。你程序就会出错。

假设字符串为"20AO9187PL"......

Mystr="20AO9187PL" '字符串变量Mystr
For i = 1 To Len(Mystr)
If IsNumeric(Mid(Mystr, i, 1)) = True Then List1.AddItem Mid(Mystr, i, 1)
Next

自己更改下,即可!!!!!

注:这是运算次数最少的精简算法,可运行的更快并不会出现Error!!!

Private Sub Command1_Click()
a = "1ab23cde4567fg8hijk"
For i = 1 To Len(a)
b = Mid(a, i, 1)
If IsNumeric(b) Then
s = s & b
Else
If Len(s) <> 0 Then
List1.AddItem s
s = ""
End If
End