使用字符串函数

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个感叹号。你可以对任何长于一个字符的字符串使用这个函数。如果你需要重复一个更长的表达式，可以使用循环。