国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > VBScript > 正文

dim函數第三個參數設置截取字符的長度問題

2019-10-26 18:05:17
字體:
來源:轉載
供稿:網友
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
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 桃源县| 岑溪市| 沐川县| 阳泉市| 高雄县| 呼伦贝尔市| 兰溪市| 确山县| 屏东市| 红安县| 绍兴市| 甘谷县| 浮梁县| 贺州市| 如东县| 长乐市| 南康市| 河北区| 神木县| 咸阳市| 阜阳市| 普格县| 锡林浩特市| 冷水江市| 沛县| 东兰县| 蓬安县| 江门市| 汽车| 双城市| 八宿县| 化隆| 明溪县| 兰考县| 北辰区| 包头市| 杭州市| 西宁市| 南通市| 博白县| 大化|