1、字符串连接用&
2、数字转化为字符串使用cstr
cstr(456)将输出字符串"456"
VBscript中的字符串函数
在VBscript中,系统提供了大量的字符串函数来处理有关字符串的事情。在 Javascript 中,系统为String对象提供了许多方法,而字符串变量可以不用附加说明就使用这些方法,使对字符串的处理能力更加强大。下面我们分批介绍这些函数和方法。
目标任务1
关键字 left, right, mid, space, trim, instr, len
代码
dim Mystr, Myword,Mypos, BR
Mystr = "The built-in objects are special because they are built into ASP pages and do not need to be created before you can use them in scripts."
BR = "<p>"
document.write( "Mystr=" &chr(34) & Mystr & chr(34) &BR)
document.write("字符串Mystr的长度是" & len(Mystr) & BR)
document.write("7位左子串是" & left(Mystr,7) &BR)
document.write("8位左子串是" & right(Mystr,8) &BR)
document.write("从第5位开始的12个字符是" & mid(Mystr, 5, 12) &BR)
Myword = space(3) & "hello" & space(2)
document.write(chr(34) & Myword &chr(34))
document.write("这个字符串的的长度是" & len(Myword) &BR)
document.write("截去前导空格后为:" & chr(34) &Ltrim(Myword)&chr(34) &BR)
Myword = "OBJECT"
document.write ("The Myword =" & chr(34)&Myword&chr(34) )
Mypos = Instr(Mystr,Myword)
if Mypos=0 then
document.write(" Myword不是它的子串")
else
document.write(Myword & "是子串,第一个开始于" & Mypos)
end if
document.write BR
Myword = LCase(Myword)
Mypos = Instr(Mystr,Myword)
if Mypos=0 then
document.write(" Myword不是它的子串"&BR)
else
document.write(Myword & "是子串,第一个开始于" & Mypos)
end if
观看代码的运行结果
代码注释
这段代码演示了VBscript中的许多字符串函数的用法,用左子串left,右子串right,任意子串mid,生成空格字符串space,截去前导空格Ltrim,截去尾部空格Rtirm,截去前后空格tirn,字符串长度len,判断子字符串的存在性和出现的位置Instr。大小写转换 Ucase 和Lcase,把ASCII码转换为字符的函数chr。
mid函数从字符串中返回指定数目的字符,语法:Mid(string, start[, length])InStr函数返回子串在主字符串中第一次出现的位置,如子串不存在则返回0。语法:
[start, ]string1, string2[, compare])省略开始位置则从开始,compare=0 or 1,表示有二进制比较(0)或进行文本比较(1),缺省为二进制比较。详见语法参考。
其它函数的语法从例程中一目了然,不再赘述。
目标任务2 演示用spilt函数分割字符串
关键字
代码
Private Sub CommandButton1_Click()
Dim Mystr, Myword, Mypos, BR
Mystr = "192.168.61.18:/usr/eas51:/opt/IBM"
MyString = Split(Mystr, ":", -1, 1)
For i = 0 To UBound(MyString)
TextBox1.Text = TextBox1.Text + MyString(i) & vbCrLf
Next
End Sub
代码注释
- split函数的功能是按照给定的分割符切割字符串,结果返回给一个数组。语法:
数组 = split(字符串,分割符,count,compary)
count是要求返回的子串个数,-1表示全部;compary=0|1,表示执行二进制|文本比较。 - uBound(数组)返回数组的上界。
观看 Sdemo1
目标任务3
关键字 strReverse
代码
sub sdemo2
dim BT,yourin,yourout
BT = "<BR>"
yourin = InputBox("请任意输入一个字符串,中文也可以")
yourout = strReverse(yourin)
MsgBox(yourout)
End sub
代码注释
strReverse函数返回按相反顺序排列的字符串,对中文也可以用。
观看 Sdemo2
目标任务4 演示字符串的替换和比较
关键字 replace, strcomp, string
代码
sub sdemo3
dim BT,olrstr, newstr
BT = "<BR>"
oldstr= "Hello"
newstr=string(3,"-")&oldstr&string(3,"-")
MsgBox(newstr)
newstr = replace(newstr, oldstr, Ucase(oldstr)&" World")
MsgBox(newstr)
newstr = Ucase(oldstr)
for i=0 to 1
result =strcomp(newstr, oldstr,i)
if result=0 then
MsgBox(newstr &"与"&oldstr& "相等 with "&i)
else
MsgBox(newstr &"与"&oldstr& "不相等 with "&i)
End if
Next
End sub
代码注释
- String(个数,单个字符)返回有相同字符组成的字符串。接着把Hello替换成大写并显示出来。
- replace函数的语法:
Replace(expression_r_r, find, replacewith)
expression_r_r是待搜索文本, find是要查找的子串, replacewith是用来替换的子串。更详细的语法请查阅相关文章。 - 最后一段演示字符串比较函数
Strcomp(str1,str2,i)
str1和str2是两个被比较的字符串,i=0或1表示执行二进制(0)或文本(1)进行比较。i=1时不区分大小写,在程序的消息框中报告了这一点,请读者在运行下面的sdemo3时注意阅读。
chr(9) tab空格 chr(10) 换行 chr(13) 回车 Chr(13)&chr(10) 回车换行 chr(32) 空格符 chr(34) 双引号 chr(39) 单引号
chr(33) ! chr(34) " chr(35) # chr(36) $ chr(37) % chr(38) & chr(39) ' chr(40) ( chr(41) ) chr(42) *
chr(43) + chr(44) , chr(45) - chr(46) . chr(47) /
Chr(48) 0 Chr(49) 1 Chr(50) 2 Chr(51) 3 Chr(52) 4 Chr(53) 5 Chr(54) 6 Chr(55) 7 Chr(56) 8 Chr(57) 9
chr(58) chr(59) ; chr(60) < chr(61) = chr(62) > chr(63) ? chr(64) @
chr(65) A chr(66) B chr(67) C chr(68) D chr(69) E chr(70) F chr(71) G chr(72) H chr(73) I chr(74) J
chr(75) K chr(76) L chr(77) M chr(78) N chr(79) O chr(80) P chr(81) Q chr(82) R chr(83) S chr(84) T
chr(85) U chr(86) V chr(87) W chr(88) X chr(89) Y chr(90) Z
chr(91) [ chr(92) \ chr(93) ] chr(94) ^ chr(95) _ chr(96) `
chr(97) a chr(98) b chr(99) c chr(100) d chr(101) e chr(102) f chr(103) g chr(104) h chr(105) i
chr(106) j chr(107) k chr(108) l chr(109) m chr(110) n chr(111) o chr(112) p chr(113) q chr(114) r
chr(115) s chr(116) t chr(117) u chr(118) v chr(119) w chr(120) x chr(121) y chr(122) z
chr(123) { chr(124) | chr(125) } chr(126) ~ chr(127) chr(128) chr(153)™ chr(169) © chr(174) ®