关于split函数,请高手解答一下。
Dim source1,source2 As String
Dim ret As Variant
Dim count As Integer
source1="http://oaserver/sendfile/72777?opendocument"
source2=""
ret=split(source1,"/",count) 问题1:我如何得知ret有几个项?用count好像得不到。
ret=split(source2,"/",count) 问题2:很明显,ret没有内容,所以如果用ret(0)取值会出现越界错误,如何判断ret包含还是不包含内容(子串)?
问题点数:100、回复次数:4Top
1 楼xaser(繁星似火)回复于 2006-03-03 08:02:16 得分 0
问题1:
要么忽略掉count:
ret=split(source1,"/")
要么给count一个值:
count = 2
If count is < -1, a RunTime Arg Out of Range error is thrown
If count is 0, Split returns an array of size 0 with lbound 0 and ubound -1.
帮助中的范例是:
ret = split("this is a test", " ", 2)
ret(0) = "this"
ret(1) = "is a test"
问题2:
先判断一下ret的类型不好么?Top
2 楼Lotusxyz(沧海一声啸)回复于 2006-03-03 08:48:24 得分 0
1,用个while循环试试?i=0 While not ret(i) is nothing i=i+1
2, 好像没这个必要,需要的话用Instr函数判断一下先Top
3 楼mason520(虫子----------)回复于 2006-03-03 09:24:16 得分 0
问题一:
ret=split(source1,"/")
msgbox ubound(ret)
请看split的用法,你的count参数是设定返回数组的个数,而不是ret的项数
问题二:
ret=split(source2,"/")
msgbox ubound(ret)
msgbox ret(0)
请注意,ret是有内容的;空字符串也是内容,所以访问ret(0)不会越界,会返回回空Top
4 楼lamp2004(LinuxApache)回复于 2006-03-03 09:34:59 得分 0
先用instr判断是不是有/,然后再去处理Top




