vbscript Split 函數(shù)用法
用法:傳回數(shù)組 = Split(原始字串, 要找的字串, 拆成幾個數(shù)組)
描述
返回一個下標(biāo)從零開始的一維數(shù)組,它包含指定數(shù)目的子字符串。
語法
Split(expression[, delimiter[, count[, compare]]])
例如用逗號(,)分割字符串為數(shù)組
復(fù)制代碼 代碼如下:
str="1,2,3,4"
strarr=split(str,",")
for i=0 to ubound(strarr)
msgbox strarr(i)
next
Split函數(shù)語法有如下幾部分:
部分 描述
expression 必需的。包含子字符串和分隔符的字符串表達式 。如果expression是一個長度為零的字符串(""),Split則返回一個空數(shù)組,即沒有元素和數(shù)據(jù)的數(shù)組。
delimiter 可選的。用于標(biāo)識子字符串邊界的字符串字符。如果忽略,則使用空格字符(" ")作為分隔符。如果delimiter是一個長度為零的字符串,則返回的數(shù)組僅包含一個元素,即完整的 expression字符串。
count 可選的。要返回的子字符串?dāng)?shù),-1表示返回所有的子字符串。
compare 可選的。數(shù)字值,表示判別子字符串時使用的比較方式。關(guān)于其值,請參閱“設(shè)置值”部分。
參數(shù)的設(shè)置
設(shè)置值
compare參數(shù)的設(shè)置值:
常數(shù) 值 描述
vbUseCompareOption -1 用Option Compare語句中的設(shè)置值執(zhí)行比較。
vbBinaryCompare 0 執(zhí)行二進制比較。
vbTextCompare 1 執(zhí)行文字比較。
vbDatabaseCompare 2 僅用于Microsoft Access?;谀臄?shù)據(jù)庫的信息執(zhí)行比較。
復(fù)制代碼 代碼如下:
Private Sub Command1_Click()
Dim MyStr As String
MyStr = "1234567123456712345"
MyStrs = Split(MyStr, "67")
For Each Strs In MyStrs
Print Strs
Next
End Sub
輸出結(jié)果:"12345"、"12345"、"12345"
復(fù)制代碼 代碼如下:
'這個VB程序是讓求10個學(xué)生的考試成績的平均分..
'比如95 85 70 75 80 90 60 65 95 100
'這10個人的分數(shù)的平均分...
Private Sub Form_Load()
Dim A$(), i As Long, intB As String, s As Integer
If Dir("d:\平均分.dat") = vbNullString Then
Open "d:\平均分.dat" For Output As #1
Print #1, "95 85 70 75 80 90 60 65 95 100"
Close #1
End If
Open "d:\平均分.dat" For Input As #1
Input #1, intB
Close #1
A = Split(intB, Space(1), -1, 1)
For i = 0 To UBound(A, 1)
Debug.Print A(i); " ";
s = s + A(i)
Next i
Debug.Print ",10個學(xué)生的平均成績是 :" s / 10
End Sub
Private Sub command1_Click()
Dim AString As String
Dim r() As String '把變量按照“,”分割出來的數(shù)組
Dim rt As String '最終的結(jié)果,用換行符代替“,”
Dim C As Integer '這個是循環(huán)用的
AString = "高級,中級,低級,先進"
r = Split(AString, ",") '把每個目錄都分解出來
For C = 0 To UBound(r) 'C由0開始循環(huán)到r數(shù)組的最大下標(biāo)
rt = rt vbCrLf vbCrLf r(C) '把數(shù)組的每一個元素都添加到rt,用回車分割
Next C '循環(huán)
MsgBox rt '輸出
End Sub
Private Sub Form_Load()
Dim strTextDate As String
strTextDate = "2008-12-1 星期一"
MsgBox Format(Split(strTextDate)(0), "yyyy-mm-dd")
End Sub
當(dāng)小括號中寫0時,返回數(shù)組中第一個元素,小括號中寫1時返回數(shù)組中第二個元素。依此類推,用這種寫法返回數(shù)據(jù)時,必須用一個空格把字符串分開,其它字符僅當(dāng)做一個數(shù)據(jù)。例:
Private Sub Form_Load()
Dim AString As String
AString = "高級 中級 低級 先進"
MsgBox Split(AString)(0)
MsgBox Split(AString)(1)
MsgBox Split(AString)(2)
MsgBox Split(AString)(3)
End Sub
以下只返回 高級,中級,低級,先進 僅當(dāng)作一個串,即只能返回Split(AString)(0)的值,其它值都產(chǎn)生下標(biāo)越界錯誤。所以用以下方法分解時,只能用一個空格分割,而不能用其它字符分割.
復(fù)制代碼 代碼如下:
Private Sub Form_Load()
Dim AString As String
AString = "高級,中級,低級,先進"
MsgBox Split(AString)(0)
MsgBox Split(AString)(1)
MsgBox Split(AString)(2)
MsgBox Split(AString)(3)
End Sub
split 命令用途
將文件分割成幾段。
語法
要將一個文件分割成包含指定行數(shù)的多個文件
split [ -l LineCount ] [ -a SuffixLength ] [ File [ Prefix ] ]
要將一個文件分割成包含指定字節(jié)數(shù)的多個文件
split -b Number [ k | m ] [ -a SuffixLength ] [ File [ Prefix ] ]
描述
split 命令讀取指定文件,以 1000 行大小寫在一組輸出文件上。第一個輸出文件名由指定前綴(缺省值 x)和 aa 后綴組合構(gòu)成,第二個文件名由前綴和 ab 后綴組合構(gòu)成,如此按字典順img class="img InsertH2" alt="段落標(biāo)題" src="../../System/_resource/blank.gif">序一直到 zz(最多 676 個文件)。后綴的字母數(shù)及因此的輸出名稱文件數(shù)可用 -a 標(biāo)志增加。
您指定的 Prefix 不能長于 PATH_MAX - 2 個字節(jié)(如果指定了 -a 標(biāo)志,則不能長于 PATH_MAX - SuffixLength 個字節(jié))。PATH_MAX 變量指定系統(tǒng)的最大路徑名的長度( 在 /usr/include/sys/limits.h 文件中定義)。
如果您不指定輸入文件或如果您指定 -(減號)文件名,那么 split 命令從標(biāo)準(zhǔn)輸入讀取文件。
標(biāo)志
注:-b 和 -l 標(biāo)志是互斥的。
-a SuffixLength 指定用于形成輸出名稱文件后綴部分的字母數(shù)。字母數(shù)確定可能的輸出文件名組合數(shù)。缺省是兩個字母。
-b Number 將文件分割成 Number 變量指定的字節(jié)數(shù)。將 k(千字節(jié))或 m(兆字節(jié))乘數(shù)加到 Number 值的末尾使文件分別分割成 Number*1024 字節(jié)或 Number*1,048,576 字節(jié)的幾個段。
-l LineCount 指定每個輸出文件的行數(shù)。缺省值是 1000 行。
退出狀態(tài)
該命令返回以下退出值:
0 命令成功運行。
>0 發(fā)生錯誤。
示例
復(fù)制代碼 代碼如下:
1. 要將文件分割成 1000 行的段,請輸入:
split book
此示例將 book 分割成 1000 行的段,命名為 xaa、 xab、 xac 等等。
2. 要將文件分割成 50 行的段并指定文件名前綴,請輸入:
split -l 50 book sect
此示例將 book 分割成 50 行的段,命名為 sectaa、sectab、sectac 等等。
3. 要將文件分割成 2KB 的段,請輸入:
split -b 2k book
此示例將 book 分割成 2*1024 字節(jié)的段,命名為 xaa、xab、xac 等等。
4. 要將文件分割成 676 個以上的段,請輸入:
split -l 5 -a 3 book sect
此例將 book 分割成 5 行的段,命名為 sectaaa、sectaab、 sectaac 等等,直到 sectzzz(最多 17,576 個文件)。
您可能感興趣的文章:- VBS教程:函數(shù)-Split 函數(shù)