奇怪了,数组为什么不能动态?

jnyezhi jnyezhi 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
我想把一行字符串转成数组,每字母占一个

如果用这个方法
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

问题貌似解决了,可数组不能动态显然不行。字符串是随机的,短的只有十几个字符,长的则可能有几百个,为了兼容,我必须把上限定得很高,但这样服务器内存很快就耗尽了。如何解决呢?
...全文

相关推荐

评论 10
收藏 已收藏
分享
返回顶部
jnyezhi
ASP 28,401 成员 356,940 内容