首页 > 编程 > VBScript > 正文

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

2019-10-26 18:07:14
字体:
来源:转载
供稿:网友

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
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表