51testing论坛版主,专注于软件测试及测试吐槽,屌丝测试攻城师一枚。。。。。。。。。。。。。。。。。。。。。。。。。新浪微博:@没翅膀的飞鱼-------邮件交流:wzb_minitester@126.com------
VBScript之数组
上一篇 /
下一篇 2012-12-13 22:08:09
/ 个人分类:VBScript系列
这篇主要介绍数组的声明及常见的几种处理方式。
常用的数组声明方式有:
普通方式:
Dim arr(2) ‘静态数组声明 arr(0) = “test1″ arr(1) = “test2″ arr(2) = “test3″ msgbox arr(1) ‘打印出test2 |
Array函数方式:
arr= Array(“t1″,”t2″,”t3″) msgbox arr(1) ‘打印出t2 |
动态数组声明:
将变量声明为动态数组,只需要一对空的圆括号: Dim arr() 但是用以上方式声明的数组其中没有任何维度,变量名后的圆括号告诉VBS您需要的是一个数组,但是忽略了上界消息。 用以下声明可以改变动态数组的维度: ReDim arr(3) 使用Redim要时刻注意一点:用Redim改变数组大小时,数组中所有的数据都会被清空。如果我们实际使用数组时想增加数组维度,但是又不想以前放在数组中的数据丢失怎么办?这时可以用Preserve关键字,看下面脚本: Option Explicit Dim astrphonelist() ReDim Preserve astrphonelist(1,0) astrphonelist(0,0) = "BINBBY" astrphonelist(1,0) = "hello" ReDim Preserve astrphonelist(1,1) astrphonelist(0,1) = "BINBBY1" astrphonelist(1,1) = "hello1"
ReDim Preserve astrphonelist(1,2) astrphonelist(0,2) = "BINBBY2" astrphonelist(1,2) = "hello2" MsgBox astrphonelist(1,2) 使用Preserve关键字也要注意一点:只能改变数组中最后一个维度的大小(从上面脚本也可以看出),这也是为什么在使用二维数组时,最好将第一维视为列,第二维视为行。从上面还可以看出数组的下界为0,也被称为基于0的,Vbscript中的数组可以有60维。 |
接下来具体讲解下数组的常见处理方式:
1. LBound函数和UBound函数
arr = array("t1","t2","t3") For i=0 To UBound(arr)-LBound(arr) MsgBox arr(i) Next |
分析:UBound返回数组最大下标,LBound返回数组最小下标。
2. Join函数
arr = array("t1","t2","t3") MsgBox Join(arr,",") |
分析:最终打印结果为“t1,t2,t3”,Join函数主要用于拼接数组,并可以控制分割的符号。
3. Split函数
stng =
"t1,t2,t3" arr = Split(stng,",") MsgBox arr(0) MsgBox arr(1) MsgBox arr(2) |
分析:此函数可以把有一定规律的字符串进行分割,相当于join函数的逆向思维。
4.清除数组
通过Erase语句可以彻底地清空数组:
Erase arr
Erase对于静态数组和动态数组的效果上有些不同。对于静态数组,数组元素中的数据会被清空,但是这些元素本身依然存在---只是数据被清空了;对于动态数组,Erase语句会彻底释放其所占有的内存,数据会被清空,元素本身也会被销毁。要想恢复它们,必须再用RdDim语句给这个数组添加元素。
写于2012-12-13 没翅膀的飞鱼
收藏
举报
TAG: