奇怪了,数组为什么不能动态?
我想把一行字符串转成数组,每字母占一个
如果用这个方法
str1 = "1234567890"
arr1 = split(str1,"")
则
response.write UBound(arr1)
结果为0
我只好自己写过程
str1 = "1234567890"
Dim arr1()
For i = 1 to len(str1)
arr1(i-1) = Mid(str1,i,1)
Next
结果提示我第4行下标越界
加一行,把程序改为
str1 = "1234567890"
arrub = 100
Dim arr1(arrub)
For i = 1 to len(str1)
arr1(i-1) = Mid(str1,i,1)
Next
还是不行,提示如下
缺少整型常数
/test.asp, line 3, column 9
Dim arr1(arrub)
--------^
再改
str1 = "1234567890"
Dim arr1(100)
For i = 1 to len(str1)
arr1(i-1) = Mid(str1,i,1)
Next
这回行了,用下面代码显示一下
For i = 0 To Len(str1)-1
response.write "arr1("&i&")="&arr1(i)&"<br>"
Next
response.write "UBound(arr1)="&UBound(arr1)
得到
arr1(0)=1
arr1(1)=2
arr1(2)=3
arr1(3)=4
arr1(4)=5
arr1(5)=6
arr1(6)=7
arr1(7)=8
arr1(8)=9
arr1(9)=0
UBound(arr1)=100
问题貌似解决了,可数组不能动态显然不行。字符串是随机的,短的只有十几个字符,长的则可能有几百个,为了兼容,我必须把上限定得很高,但这样服务器内存很快就耗尽了。如何解决呢?