VBScript字符串函数
VBScript 教程
http://www.microsoft.com/china/vbscript/vbstutor/vbstutor.htm
返回基于 0 的一维数组,其中包含指定数目的子字符串。
expression:必选。字符串表达式,包含子字符串和分隔符。如果 expression 为零长度字符串,Split 返回空数组,即不包含元素和数据的数组。
delimiter:可选。用于标识子字符串界限的字符。如果省略,使用空格 (" ") 作为分隔符。如果 delimiter 为零长度字符串,则返回包含整个 expression 字符串的单元素数组。
count:可选。被返回的子字符串数目,-1 指示返回所有子字符串。
compare:可选。compare 参数可以有以下值:0 执行二进制比较;1 执行文本比较;2 执行基于数据库(在此数据库中执行比较)中包含的信息的比较。
2. Replace(expression, find, replacewith, compare, count, start)
返回字符串,其中指定数目的某子字符串被替换为另一个子字符串。
expression:必选。字符串表达式,包含要替换的子字符串。
find:必选。被搜索的子字符串。
replacewith:必选。用于替换的子字符串。
start:可选。expression 中开始搜索子字符串的位置。如果省略,默认值为 1。
count:可选。执行子字符串替换的数目。如果省略,默认值为 -1,表示进行所有可能的替换。
compare:可选。参数值同上。
3. Mid(string, start, length)
从字符串中返回指定数目的字符。
string:字符串表达式,从中返回字符。如果 string 包含 Null,则返回 Null。
start:string 中被提取的字符部分的开始位置。如果 start 超过了 string 中字符的数目,Mid 将返回零长度字符串 ("")。
length:要返回的字符数。如果省略或 length 超过文本的字符数(包括 start 处的字符),将返回字符串中从 start 到字符串结束的所有字符。
4. LTrim(string), RTrim(string), Trim(string)
返回不带前导空格 (LTrim)、后续空格 (RTrim) 或前导与后续空格 (Trim) 的字符串副本。
string:参数是任意有效的字符串表达式。如果 string 参数中包含 Null,则返回 Null。
5. InStr(start, string1, string2, compare)
(InstrRev(start, string1, string2, compare))
返回某字符串在另一字符串中从头部出现的位置
(返回某字符串在另一字符串中从结尾出现的位置)。
start:可选。数值表达式,用于设置每次搜索的开始位置。如果省略,将从第一个字符的位置开始搜索。如果 start 包含 Null,则会出现错误。如果已指定 compare,则必须要有 start 参数。
string1:必选。接受搜索的字符串表达式。
string2:必选。要搜索的字符串表达式。
compare:可选。参数值同上。
6. String(number, character)
返回具有指定长度的、重复字符组成的字符串。
number:返回字符串的长度。如果 number 参数包含 Null,则返回 Null。
character:指定字符或字符串表达式的字符代码,其中字符串表达式的第一个字符用于组成返回的字符串。如果 character 参数包含 Null,则返回 Null。
7. Space(number)
返回由指定数目的空格组成的字符串。
number:参数为字符串中用户所需的空格数。
8. Left(string, length), Right(string, length)
返回指定数目的从字符串的左边(右边)算起的字符。
string:字符串表达式,其最左边(右边)的字符被返回。如果 string 参数中包含 Null,则返回 Null。
length:数值表达式,指明要返回的字符数目。如果是 0,返回零长度字符串 ("");如果大于或等于 string 参数中的字符总数,则返回整个字符串。
9. Len(string | varname)
返回字符串内字符的数目,或是存储一变量所需的字节数。
string:任意有效的字符串表达式。如果 string 参数包含 Null,则返回 Null。
varname:任意有效的变量名。如果 varname 参数包含 Null,则返回 Null。
10. Asc(string)
返回与字符串的第一个字母对应的 ANSI 字符代码。
string:参数是任意有效的字符串表达式。如果 string 参数未包含字符,则将发生运行时错误。
11. Chr(charcode)
返回与指定的 ANSI 字符代码相对应的字符。
charcode:参数是可以标识字符的数字。从 0 到 31 的数字表示标准的不可打印的 ASCII 代码。例如,Chr(10) 返回换行符。
12. LCase(string), UCase(string)
返回字符串的小写(大写)形式,所有大写(小写)字母和非字母字符保持不变。
string:参数是任意有效的字符串表达式。如果 string 参数中包含 Null,则返回 Null。
13. Join(list, delimiter)
返回一个字符串,此字符串由包含在数组中的许多子字符串联接创建。
list:必选。包含要联接的子字符串一维数组。
delimiter:可选。在返回字符串中用于分隔子字符串的字符。如果省略,将使用空字符 ("")。 如果 delimiter 是零长度字符串,则在同一列表中列出全部项,没有分界符。
14. StrComp(string1, string2, compare)
返回指示字符串比较结果的值。StrComp 函数有以下返回值:-1, 0, 1, Null。
string1, string2:必选。任意有效的字符串表达式。
compare:可选。参数值同上。
15. StrReverse(string)
返回字符串,此字符串与指定字符串顺序相反。
string:参数是要进行字符反向的字符串。如果 string 是零长度字符串 (""),则返回零长度字符串。如果 string1 为 Null,则会出现错误。
二、VBScript其他函数介绍
1. Option Explicit
用于 Script 级强制要求显式声明该 Script 中的所有变量。如果使用 Option Explicit,该语句必须出现在 Script 的任何过程之前。使用 Option Explicit 语句时,必须使用 Dim、Private、Public 或 ReDim 语句显式声明所有变量。如果试图使用未经声明的变量名,则会出现错误。
2. UBound(arrayname, dimension)(LBound(arrayname, dimension))
返回指定数组维数的最大可用下标。(返回指定数组维的最小可用下标)。
arrayname:数组变量名,遵循标准变量命名约定。
dimension:指明要返回哪一维下界的整数。使用 1 表示第一维,2 表示第二维,以此类推。如果省略 dimension 参数,默认值为 1。
UBound 函数与 LBound 函数一起使用,用于确定数组的大小。使用 LBound 函数可以确定数组某一维的下界。所有维的默认下界均为 0。
3. IsArray, IsDate, IsEmpty, IsNull, IsNumeric, IsObject
判断是否数组,日期,Empty,Null,数值或对象。
4. CBool, CByte, CCur, CDate, CDbl, CInt, CLng, CSng, CStr
变量类型转换函数,分别转化为Boolean, Byte, Currency, Date, Double, Integer, Long, Single, String类型。
5. On Error Resume Next
启动错误处理程序。若不使用 On Error Resume Next 语句,发生的任何运行时错误都将是致命的,即显示错误信息并终止运行。On Error Resume Next 会使程序从紧随产生错误的语句之后的语句继续执行,或是从紧随最近一次调用过程(该过程含有 On Error Resume Next 语句)的语句继续运行。这个语句可以不顾运行时错误,继续执行程序,之后您可以在过程内部建立错误处理例程。在调用另一个过程时,On Error Resume Next 语句变为非活动的。所以,如果希望在例程中进行内部错误处理,则应在每一个调用的例程中执行 On Error Resume Next 语句。
6. Err.{property | method}
Err.Number为出错的个数。Err.Raise可以在代码中生成运行时的错误。Err.Clear可用于重新设置Err。
7. RGB(red, green, blue)
返回代表 RGB 颜色值的整数。
red:必选。0 到 255 间的整数,代表颜色中的红色成分。
green:必选。0 到 255 间的整数,代表颜色中的绿色成分。
blue:必选。0 到 255 间的整数,代表颜色中的蓝色成分。
8. 函数
[Public | Private] Function name [(arglist)]
[statements]
[name = expression]
[Exit Function]
[statements]
[name = expression]
End Function
声明 Function 过程的名称、参数以及构成其主体的代码。
Public:表示 Function 过程可被所有 Script 中的所有其他过程访问。
Private:表示 Function 过程只可被声明它的 Script 中的其他过程访问。
name:Function 的名称,遵循标准的变量命名约定。
arglis:代表调用时要传递给 Function 过程的参数的变量列表。用逗号隔开多个变量。
statements:在 Function 过程的主体中执行的任意语句组。
expression:Function 的返回值。
9. 过程
[Public | Private] Sub name [(arglist)]
[statements]
[Exit Sub]
[statements]
End Sub
声明 Sub 过程的名称、参数以及构成其主体的代码。
10. Set objectvar = {objectexpression | Nothing}
将对象引用赋给变量或属性。
objectvar:变量或属性的名称,遵循标准变量命名约定。
objectexpression:由对象名称、另一个已声明为相同对象类型的变量或返回相同对象类型的对象的函数或方法组成的表达式。
Nothing:停止 objectvar 与任何指定对象的关联。当没有其他变量引用 objectvar 原来所引用的对象时,如将其赋为 Nothing 会释放与该对象所关联的所有系统和内存资源。
11. Rem comment 或 ' comment
用于包含程序中的解释性注释。comment 参数是需要包含的注释文本。在 Rem 关键字和 comment 之间应有一个空格。
12. DateSerial(year, month, day)
对于指定的年、月、日,返回 Date 子类型的 Variant。
13. TimeSerial(hour, minute, second)
返回一个 Date 子类型的 Variant,含有指定时、分、秒的时间。
14. Date, Time, Now
系统的日期,时间。
15. Year, Month, Day, Hour, Minute, Second
把日期或时间拆分开为年、月、日、小时、分钟、秒。
16. DateDiff(interval, date1, date2)
interval:必选。字符串表达式,表示用于计算 date1 和 date2 之间的时间间隔。
date1, date2:必选。日期表达式。用于计算的两个日期。
interval 参数可以有以下值:
yyyy 年
q 季度
m 月
y 一年的日数
d 日
w 一周的日数
ww 周
h 小时
m 分钟
s 秒
17. Rnd(number)
number 参数可以是任意有效的数值表达式。Rnd 函数返回一个小于 1 但大于或等于 0 的随机数。要产生指定范围的随机整数,请使用以下公式:
Int((upperbound - lowerbound + 1) * Rnd + lowerbound)
这里, upperbound 是此范围的上界,而 lowerbound 是此范围内的下界。
18. TypeName(varname)
返回一个字符串,提供有关变量的 Variant 子类型信息。
TypeName 函数返回值如下:
Byte 字节值
Integer 整型值
Long 长整型值
Single 单精度浮点值
Double 双精度浮点值
Currency 货币值
Decimal 十进制值
Date 日期或时间值
String 字符串值
Boolean Boolean 值;True 或 False
Empty 未初始化
Null 无有效数据
<object type> 实际对象类型名
Object 一般对象
Unknown 未知对象类型
Nothing 还未引用对象实例的对象变量
Error 错误