VB中,不能对split处理的结果再进行split操作?

mrzhao 2009-04-02 05:03:51
假设有如下的字符串内容(string_a):
abcd dead dafdf as
dsfa sadf ad
dfa dfsa f
dfas dfsa dsa dfsa df

我先把它用split(string_a,vbcrlf)将每行的内容保存到一个数组mystringarray1()中,下一步我想把每一行的内容再用split函数分割到另外一个数组中。 如mystring2=split(mystringarray1(2)," "),这个时候老是编译出错,提示:不能对数组赋值。 我将mystringarray1(2)先赋值给另外一个字符串变量string_other,然后再split(string_other," ")也还是不行。

把头都搞大了!

我是vb新手,请大家指点下。

...全文
114 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
SYSSZ 2009-04-02
  • 打赏
  • 举报
回复
不能给数组赋值,可赋给一个Variant,此Variant 包含数组.例如
Private Sub Command1_Click()
Dim a As String
Dim b

a = "adsfaf dsafl dfsal fdsalfasd flds dsalfsa ldalsfals dsafl dsafla fdasl fdasldasfa adffd"

b = Split(a, " ")
For i = 0 To UBound(b)
MsgBox b(i)
Next
End Sub

mrzhao 2009-04-02
  • 打赏
  • 举报
回复
上面的代码运行的时候就会提示: 不能给数组赋值
mrzhao 2009-04-02
  • 打赏
  • 举报
回复
Private Sub Command1_Click()
Dim a As String
Dim b(1000) As String
a = "adsfaf dsafl dfsal fdsalfasd flds dsalfsa ldalsfals dsafl dsafla fdasl fdasldasfa adffd"
b = Split(a, " ")
End Sub
mrzhao 2009-04-02
  • 打赏
  • 举报
回复
感谢两位的快速响应。
我发现问题出在 Dim mystring2() As String 上面。
因为我已经在调试的时候看到mystringarray1(2)也就是第三行被空格split后需要的数组元素个数为3,所以我提前定义mystring2为:Dim mystring2(2) As String 这样就出错了。 就算我 mystring2定义的更大些,也是一样的出错。

结论是:用split函数前不能定义目标数组的元素个数。

请大家检验是不是同样的结果?
vbman2003 2009-04-02
  • 打赏
  • 举报
回复
你贴上你的代码...
btxdlibin 2009-04-02
  • 打赏
  • 举报
回复
Dim mystring2() As String

7,763

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧