抽取字符串

VBscript包括许多函数，用来从一个字符串中抽取其他字符串。用函数RIGHT(),LEFT(),和MID()，你可以抽取一个字符串的右边，左边，和中间部分。这里是一些例子及其返回值：

<%

sentence=

”Once upon a time,there were three bears.”

%>

<%=left(sentence,16)%>

once upon a time

<%=right(sentence,23)%>

there were three bears.

<%=mid(sentence,13,4)%>

time

函数LEFT（）返回从字符串的左侧开始数起的一串字符。函数RIGHT（）返回从字符串的右侧开始数起的一串字符。最后，函数MID（）返回从左数某个字符开始的一定长度的一串字符；如果你忽略函数MID（）的第三个参数，则将返回从左数某个字符开始的后面所有字符。

使用这些函数时，知道一个字符串的长度经常是有用的。要确定一个字符串的长度，你可以使用函数LEN（）。下面的例子用函数LEN（）抽取了一个字符串的左边一半：

<%

mystring=

”Once upon a time,there were three bears.”

%>
<%=left(mystring,LEN(mystring)/2%>

解释从HTML表单中收集到的数据时，你经常会发现删去收集到的数据中的空格是必要的。有三个函数使你可以做到这一点。函数RTRIM（），LTRIM（）和TRIM（）从一个字符串的右边，左边，或两侧删去空格。这里有一些例子：

<%

sentence=

” I have extra spaces “

sentence=LTRIM(sentence)

sentence=RTRIM(sentence)

sentence=TRIM(sentence)

%>

这些函数删去一个字符串边上的空格¾ ¾ 不管出现多少空格。如果你需要删除一个字符串内部的空格，可以使用函数REPLACE（）。（此处不加详述）

字符串函数SPLIT（）把一个字符串分割成多个部分。分割操作的结果被放在一个数组中。考虑如下的例子：

<%

myarray=SPLIT(forminput)

for z=0 to ubound(myarray)

if myarray(z)=

”You” then myarray(z)=”I”

next

newoutput=JOIN(myarray)

%>

<%=newoutput%>

这段脚本取出保存在变量forminput中的任何字符串并分割之，结果保存在数组myarray中。（你不需要声明这个数组，函数SPLIT（）会创建它。）然后，每当单词You出现在数组中时，就将其替换为I。最后，用JOIN（）函数将数组重新拼接并输出到浏览器屏幕。

如果你站点的一个访问者在一个HTML表单中输入了一个句子：You are a computer，该值被保存到变量forminput中，则句子I are a computer将被返回到浏览器屏幕上。使用函数SPLIT（），你可以很容易地操作输入HTML表单中的信息。

缺省情况下，函数SPLIT（）通过在空格处截断来分割一个字符串。然而，你可以为该函数提供第二个参数，根据其他的字符来分割字符串。缺省情况下，该函数能把一个字符串分割成多少部分，就分割成多少部分。但是你可以提供第三个参数来限制该函数返回的子字符串的数目。下面的这个例子使用了这两个附加参数：

<%

myarray=SPLIT(

“Once upon a time,there were three bears.”,”,”,2)

%>

在这个例子中，字符串被分割成两个。逗号左边的子字符串被保存在数组的第一个元素中；逗号右边的子字符串被保存在数组的第二个元素中。

最后，函数FILTER（）使你可以过滤一个数组。假定你想从一个句子中过滤掉不包含字母t的每一个词。用函数FILTER（），你可以通过如下的脚本做到这一点：

<%

myarray=SPLIT(

“Once upon a time,there were three bears.”)

myarray=FILTER(myarray,

”t”)

%>

<%=JOIN(myarray)%>

当这个脚本执行后，将显示字符串time,there three。函数FILTER（）过滤掉所有不匹配字符串

”t”的数组元素。

你也可以用函数FILTER（）过滤掉匹配某一特定字符串的所有数组元素。例如，下面的脚本返回字符串Once upon a were bears.

<%

myarray=SPLIT(

“Once upon a time,there were three bears.”)

myarray=FILTER(myarray,

”t”,false)

%>

<%=JOIN(myarray)%>