vb,我想要问的是我要在文本框输入一串英文句子,然后按单词分解到列表框中!该怎么办?

我写了一段代码:
Dim midd As String
For i = 1 To Len(Text1.Text)
If mid(Text1.Text, i, 1) = " " Then
List1.AddItem c
c = ""
Else
c = c + mid(Text1.Text, i, 1)
End If
Next
可就是最后的一组单词不能截取出来,为什么?

Private Sub Command1_Click()
Me.List1.Clear
s = Me.Text1.Text
For i = 1 To Len(s) '遍历s中的每一个字母,如果不是字母或数字,就换成连字符
J = Asc(Mid(s, i, 1))
Select Case J
Case 48 To 57, 65 To 90, 97 To 122
Case Else
Mid(s, i, 1) = "-"
End Select
Next i
'===============================================
J = Len(s) - 1
For i = 1 To J
If Mid(s, i, 1) = "-" And Mid(s, i + 1, 1) = "-" Then '如果出现有连续是连字符,则只保留一个
s = Left(s, i) + Right(s, J - i)
J = J - 1
i = i - 1
End If
Next i
r = Split(s, "-") '用分割函数将s以连字符分开,并保存在变量R内
For i = 0 To UBound(r) '遍历数组R
Me.List1.AddItem r(i)
Next i
End Sub
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-07-23
你好;因为循环结束后,最后一组单词没有添加到list里的原因,在循环结束的外面添加
List1.AddItem c就ok了,希望能帮到你:)

如果最后一位也是空格的话,就在循环外加个条件:
if c<>"" then
List1.AddItem c
end if本回答被提问者采纳