抽取字符串

作者:不详 来源: 日期:2002-8-7
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)

%>

这些函数删去一个字符串边上的空格&frac34; &frac34; 不管出现多少空格。如果你需要删除一个字符串内部的空格,可以使用函数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)%>
相关文章