您好,登錄后才能下訂單哦!
怎么在vbscript中使用Split函數?相信很多沒有經驗的人對此束手無策,為此本文總結了問題出現的原因和解決方法,通過這篇文章希望你能解決這個問題。
vbscript Split 函數用法
用法:傳回數組 = Split(原始字串, 要找的字串, 拆成幾個數組)
描述
返回一個下標從零開始的一維數組,它包含指定數目的子字符串。
語法
Split(expression[, delimiter[, count[, compare]]])
例如用逗號(,)分割字符串為數組
復制代碼 代碼如下:
str="1,2,3,4"
strarr=split(str,",")
for i=0 to ubound(strarr)
msgbox strarr(i)
next
Split函數語法有如下幾部分:
部分 描述
expression 必需的。包含子字符串和分隔符的字符串表達式 。如果expression是一個長度為零的字符串(""),Split則返回一個空數組,即沒有元素和數據的數組。
delimiter 可選的。用于標識子字符串邊界的字符串字符。如果忽略,則使用空格字符(" ")作為分隔符。如果delimiter是一個長度為零的字符串,則返回的數組僅包含一個元素,即完整的 expression字符串。
count 可選的。要返回的子字符串數,-1表示返回所有的子字符串。
compare 可選的。數字值,表示判別子字符串時使用的比較方式。關于其值,請參閱“設置值”部分。
參數的設置
設置值
compare參數的設置值:
常數 值 描述
vbUseCompareOption -1 用Option Compare語句中的設置值執行比較。
vbBinaryCompare 0 執行二進制比較。
vbTextCompare 1 執行文字比較。
vbDatabaseCompare 2 僅用于Microsoft Access。基于您的數據庫的信息執行比較。
復制代碼 代碼如下:
Private Sub Command1_Click()
Dim MyStr As String
MyStr = "1234567123456712345"
MyStrs = Split(MyStr, "67")
For Each Strs In MyStrs
Print Strs
Next
End Sub
輸出結果:"12345"、"12345"、"12345"
復制代碼 代碼如下:
'這個VB程序是讓求10個學生的考試成績的平均分..
'比如95 85 70 75 80 90 60 65 95 100
'這10個人的分數的平均分...
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個學生的平均成績是 :" & s / 10
End Sub
Private Sub command1_Click()
Dim AString As String
Dim r() As String '把變量按照“,”分割出來的數組
Dim rt As String '最終的結果,用換行符代替“,”
Dim C As Integer '這個是循環用的
AString = "高級,中級,低級,先進"
r = Split(AString, ",") '把每個目錄都分解出來
For C = 0 To UBound(r) 'C由0開始循環到r數組的最大下標
rt = rt & vbCrLf & vbCrLf & r(C) '把數組的每一個元素都添加到rt,用回車分割
Next C '循環
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
當小括號中寫0時,返回數組中第一個元素,小括號中寫1時返回數組中第二個元素。依此類推,用這種寫法返回數據時,必須用一個空格把字符串分開,其它字符僅當做一個數據。例:
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(AString)(0)的值,其它值都產生下標越界錯誤。所以用以下方法分解時,只能用一個空格分割,而不能用其它字符分割.
復制代碼 代碼如下:
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 命令用途
將文件分割成幾段。
語法
要將一個文件分割成包含指定行數的多個文件
split [ -l LineCount ] [ -a SuffixLength ] [ File [ Prefix ] ]
要將一個文件分割成包含指定字節數的多個文件
split -b Number [ k | m ] [ -a SuffixLength ] [ File [ Prefix ] ]
描述
split 命令讀取指定文件,以 1000 行大小寫在一組輸出文件上。第一個輸出文件名由指定前綴(缺省值 x)和 aa 后綴組合構成,第二個文件名由前綴和 ab 后綴組合構成,如此按字典順<img class="img InsertH2" alt="段落標題" src="../../System/_resource/blank.gif">序一直到 zz(最多 676 個文件)。后綴的字母數及因此的輸出名稱文件數可用 -a 標志增加。
您指定的 Prefix 不能長于 PATH_MAX - 2 個字節(如果指定了 -a 標志,則不能長于 PATH_MAX - SuffixLength 個字節)。PATH_MAX 變量指定系統的最大路徑名的長度( 在 /usr/include/sys/limits.h 文件中定義)。
如果您不指定輸入文件或如果您指定 -(減號)文件名,那么 split 命令從標準輸入讀取文件。
標志
注:-b 和 -l 標志是互斥的。
-a SuffixLength 指定用于形成輸出名稱文件后綴部分的字母數。字母數確定可能的輸出文件名組合數。缺省是兩個字母。
-b Number 將文件分割成 Number 變量指定的字節數。將 k(千字節)或 m(兆字節)乘數加到 Number 值的末尾使文件分別分割成 Number*1024 字節或 Number*1,048,576 字節的幾個段。
-l LineCount 指定每個輸出文件的行數。缺省值是 1000 行。
退出狀態
該命令返回以下退出值:
0 命令成功運行。
>0 發生錯誤。
示例
復制代碼 代碼如下:
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 字節的段,命名為 xaa、xab、xac 等等。
4. 要將文件分割成 676 個以上的段,請輸入:
split -l 5 -a 3 book sect
此例將 book 分割成 5 行的段,命名為 sectaaa、sectaab、 sectaac 等等,直到 sectzzz(最多 17,576 個文件)。
看完上述內容,你們掌握怎么在vbscript中使用Split函數的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。