vbscriptSplit函数用法详解(字符串转数组函数)

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

vbscriptSplit函数⽤法详解(字符串转数组函数)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 个⽂件)。

相关文档
最新文档