dim函数第三个参数设置截取字符的长度问题

所属分类: 脚本专栏 / vbs 阅读数: 1696
收藏 0 赞 0 分享
dim函数的第三个参数,也就是截取字符的长度,我在设置这个的时候,出了些问题:response.write mid(up_address,a(i),a(i+1)-1) & “<br />”像我上面这样写的时候,它就会报错,提示无效的过程调用或参数,
response.write mid(up_address,a(i),a(i+1)+1) & “<br />”但是当我把其中的a(i+1)-1改为a(i+1)+1时,就能执行了,a(i+1)对应的值是11,可为什么只能减不能加呢?全部代码如下:
VB code:
复制代码 代码如下:

dim a(),up_address
up_address = "aaa djaldk adflj adafadfasdfa afd ad"
redim a(len(up_address))
a(0) = instr(up_address," ")
response.write a(0) & "<br />"
if a(0)<>0 then
for i=0 to len(up_address)-1
a(i+1) = instr(a(i)+1,up_address," ")
response.write mid(up_address,a(i),a(i+1)-1) & "<br />"
if a(i+1)=0 then
exit for
end if
response.write a(i+1) & "<br />"
next

end if如上代码,我是想把字符串按空格分解出来,但是mid的第三个参数那出了点问题,我本来是想这样截取的:
VB code:
复制代码 代码如下:

mid(up_address,a(i),a(i+1)-a(i)-1)
‘a(i)是空格的位置
‘a(i+1)是下一个空格的位置
‘a(i+1)-a(i)-1是两个空格直间的字符长度

现在的问题是,经测试,mid的第三个参数那,无法使用减法,也就是说,我可以写a(i+1)+,但不能写a(i+1)-,想了好久,我一直不明白问题出在哪?应该怎么来解决呢?
出现这个问题是因为上面的MID函数的第三个参数出现了负数,下面是在网上找的测试的VBS代码,原理一样,如下的代码
VBScript code:
复制代码 代码如下:

dim a(),up_address
up_address = "aaa djaldk adflj adafadfasdfa afd ad"
MsgBox len(up_address) '36
redim a(len(up_address)) 'a(36)
a(0) = instr(up_address," ")
MsgBox a(0) 'a(0)=4
MsgBox a(0) & "<br />"
if a(0)<>0 then
for i=0 to len(up_address)-1
a(i+1) = instr(a(i)+1,up_address," ")
MsgBox a(i) &" "& (a(i+1)-1)‘这里的结果为34,-1,所以导致出错
MsgBox mid(up_address,a(i),a(i+1)-1) & "<br />"
if a(i+1)=0 then
exit for
end if
MsgBox a(i+1) & "<br />"
next
end if
更多精彩内容其他人还在看

VBS实现截图功能

本文给大家分享了下2种通过VBS实现截图功能的代码,第一个是纯VBS实现,第二种方法是通过把简短的第三方工具集合到VBS脚本来实现更加丰富的功能。
收藏 0 赞 0 分享

VBS中Run和Exec的区别

这篇文章主要介绍了VBS中Run和Exec的区别,需要的朋友可以参考下
收藏 0 赞 0 分享

VBS获取GZIP压缩的HTTP内容的实现代码

这篇文章主要介绍了VBS获取GZIP压缩的HTTP内容的实现代码,需要的朋友可以参考下
收藏 0 赞 0 分享

VC中实现文字竖排的简单方法(推荐)

下面小编就为大家带来一篇VC中实现文字竖排的简单方法(推荐)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
收藏 0 赞 0 分享

对一个vbs脚本病毒的病毒原理分析

这篇文章主要介绍了对一个vbs脚本病毒的病毒原理分析的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下
收藏 0 赞 0 分享

vbs判断磁盘类型和检测硬盘剩余空间的实现代码

这篇文章主要介绍了vbs判断磁盘类型和检测硬盘剩余空间的实现代码,需要的朋友可以参考下
收藏 0 赞 0 分享

VBS调用WMI遍历搜索硬盘文件并计数的方法

这篇文章主要介绍了VBS调用WMI遍历搜索硬盘文件并计数的方法,需要的朋友可以参考下
收藏 0 赞 0 分享

vbs 查找硬盘分区中指定扩展名文件的实现代码

vbs 用于查找硬盘所有分区中指定扩展名文件的代码,有需要的朋友可以参考下。挺实用的一段代码,用来深入学习vbs,确实不错
收藏 0 赞 0 分享

vbs Size 属性使用介绍(获取文件大小)

为大家介绍vbs属性之size属性,供大家学习参考。Size 属性 对于文件,返回指定文件的字节数;对于文件夹,返回该文件夹中所有文件和子文件夹的字节数
收藏 0 赞 0 分享

vbs获取当前路径的代码

有时候我们需要获取执行当前vbs的路径,那么就可以参考下面的代码,一般用来可以删除自身等操作
收藏 0 赞 0 分享
查看更多