VBScript字串函數 1. Split(expression, delimiter, count, compare)
返回基於 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:可選。在返回字串中用於分隔子字串的字元。如果省略,將使用Null 字元 ("")。 如果 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
聲明 函數程序的名稱、參數以及構成其主體的代碼。
Public:表示 函數程序可被所有 Script 中的所有其他過程訪問。
Private:表示 函數程序只可被聲明它的 Script 中的其他過程訪問。
name:Function 的名稱,遵循標準的變數命名規範。
arglis:代表調用時要傳遞給 函數程序的參數的變數列表。用逗號隔開多個變數。
statements:在 函數程序的主體中執行的任意語句組。
expression:Function 的傳回值。
9. 過程
[Public | Private] Sub name [(arglist)]
[statements]
[Exit Sub]
[statements]
End 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 錯誤