分类:
2006-04-08 01:40:05
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 = "
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。语法:
InStr([start, ]string1, string2[, compare])
省略开始位置则从开始,compare=0 or 1,表示有二进制比较(0)或进行文本比较(1),缺省为二进制比较。详见语法参考。
其它函数的语法从例程中一目了然,不再赘述。
目标任务2 演示用spilt函数分割字符串
关键字 split
代码
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
代码注释
观看 Sdemo1
目标任务3 演示字符串逆转函数strReverse
关键字 strReverse
代码
sub sdemo2
dim BT,yourin,yourout
BT = "
"
yourin = InputBox("请任意输入一个字符串,中文也可以")
yourout = strReverse(yourin)
MsgBox(yourout)
End sub
代码注释
strReverse函数返回按相反顺序排列的字符串,对中文也可以用。
观看 Sdemo2
目标任务4 演示字符串的替换和比较
关键字 replace, strcomp, string
代码
sub sdemo3
dim BT,olrstr, newstr
BT = "
"
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
代码注释