使用字符串函数

作者:不详 来源: 日期:2002-8-7
VBscript包括大量用于操作字符串的函数。当你需要操作来自HTML表单或数据库的数据时,你会发现这些函数非常有用。你可以用这些函数来拼接字符串,抽取字符串,搜索字符串,和比较字符串。

拼接字符串

当你需要用短的字符串构造长字符串时,要用到拼接运算符(&)。下面的例子用短的表达式构造了一个句子:

<%

exp1=”The house ”

exp2=”is on a ”

exp3=”hill.”

sentence=exp1&exp2&exp3

%>


你也可以用加号(+)来拼接字符串。但是,这种方法不值得推荐。与&运算符不同,+运算符并不保证返回一个字符串。考虑如下的例子:

<%

myvar=1

%>

<%=”The value of myvar is:”&myvar%>

<%=”The value of myvar ia:”+myvar%>

当用拼接运算符&来输出myvar的值时,语句执行正常。运算符&自动把变量myvar的值转换为字符串。但是,当使用运算符+时,将出现错误,因为这个语句实际上会试图将myvar的值加到字符串表达式上。

如果你有一个字符数组,你可以用函数JOIN()连接数组中所有的字符串。这里有一个例子:

<%

dim myarray(2)

myarray(0)=”The house ”

myarray(1)=”is on a ”

myarray(2)=”hill.”

sentence=JOIN(myarray)

%>

当这段脚本执行后,变量sentence的值等于数组myarray中所有的字符串连接在一起。要使用这个函数,myarray必须是一个一维数组(一个列表)。你可以给该函数提供一个可选的第二参数,作为与空格不同的分隔符:

sentence=JOIN(myarray,”/”)

在这个例子中,函数JOIN()的返回值是The house/is on a/hill.

如果你需要加入一些空格,你可以使用函数SPACE(),象这样:

sentence=”Over”&SPACE(20)&”There.”

在这个例子中,变量sentence的值等于被20个空格隔开的Over和There。但是,你应当注意,由于HTML忽略多余的空格,这个函数实际上不会向屏幕上输出附加的空格。如果你确实需要用这个函数构造附加的空格,你必须把输出放在HTML的<PRE>标签之内,象这样:

<%

sentence=”Over”&SPACE(20)&”There.”

%>

<PRE><%=sentence%></PRE>

这样做的缺点是HTML将用固定宽度的字体显示<PRE>标签内的所有内容(对大多数浏览器,用Courier字体)。这通常是不受人欢迎的。代替使用函数SPACE(),考虑使用这样的脚本:

<%

sentence=”Over”

for i=1 to 20

sentence=sentence&”&nbsp;”

next

sentence=sentence&”There.”

%>

<%=sentence%>


在这个例子中,特殊的HTML代码,不间断空格(&nbsp;),被用来构造空格。在老的浏览器中,这样作是不行的。代码&nbsp;是HTML中与真正的空格字符最接近的东西。

最后,如果你想以任何次数重复任何单个字符,你可以使用函数STRING(),如下例所示:

<%

sentence=STRING(500,”!”)

%>

<%=sentence%>

这段脚本在屏幕上打印500个感叹号。你可以对任何长于一个字符的字符串使用这个函数。如果你需要重复一个更长的表达式,可以使用循环。
相关文章