Split函数可以将一个包含分隔符的字符串解析成一个数组,更一般地说,是可以把一个字符串拆分并创建一个一维字符串数组。
与Split函数相对,Join函数可以将数组中的各元素数据使用指定的分隔符连接成一个字符串。
Split函数语法
Split函数返回一个Variant型数组,该数组由传递给该函数的参数根据指定的分隔符分解而成。其语法为:
Split(expression,[delimiter[, count[, compare]]])
其中:
参数expression必需,为String型,要拆分成数组的字符串。
参数delimiter可选,为Variant型,界定expression中的子字符串的字符。
参数count可选,为Long型,要返回的字符串数。
参数compare可选,指定比较的方法,为vbCompareMethod常数:vbBinaryCompare、vbTextCompare或者vbDatabaseCompare。默认为vbBinaryCompare。
该函数返回的数组的基数总是0,与Option Base的设置无关。
如果没有找到参数delimiter指定的分隔符,那么该函数将返回整个字符串。
如果省略了参数delimiter,那么就使用空格作为分隔符。
如果省略了参数count或指定其值为-1,那么返回所有的字符串。
一旦分解的子字符串达到了count指定的数量,那么参数expression指定的字符串的剩余部分就会全部作为数组的下一个元素。
该函数返回的数组赋值的变量必须是一个动态的、一维的字符串数组,或者是一个Variant型变量。
数组中的元素顺序按照参数expression的先后顺序。
如果将空字符串传递给Split函数,那么将返回一个空数组。
示例
下面的过程使用Split函数创建一个数组:
Sub testSplit()
Dim SplitArray() As String
Dim str As String
Dim iCount As Integer
SplitArray = Split('完美Excel,excelperfect,Excel,Office',',')
For iCount = 0 To UBound(SplitArray)
str = str & 'SplitArray('& iCount & ') = ' & SplitArray(iCount) & vbCr
Next iCount
MsgBox str
End Sub
运行代码后的结果如图1所示。
Join函数语法
Join函数返回一个字符串,该字符串由传递给该函数的数组根据指定的分隔符连接而成。其语法为:
Join(sourcearray,[delimiter])
其中:
参数sourcearray必需,为String型或者Variant型,指定包含被连接的元素的数组。其下限可以是任意值。如果该参数中的元素为数值型数据,则应该使用Variant型数组。
参数delimiter可选,为String型,用来连接数组各元素的分隔符。如果没有指定该参数,那么使用空格作为分隔符。
参数sourcearray指定的数组中没有被使用的元素在返回的字符串中将由参数delimiter指定的分隔符代替。
如果传递给Join函数的是空数组,那么将返回一个空字符串。
示例
下面的示例先声明一个数组myArray并给其前两个元素赋值,然后使用逗号分隔符将该数组中的值连接成一个字符串。
Sub testJoin()
Dim myArray(1 To 10) As String
Dim result As String
myArray(1) = '国庆节'
myArray(2) = '中秋节'
result = Join(myArray, ',')
MsgBox result
End Sub
运行代码后的结果如图2所示。
注意到,除前两个元素外,数组剩余的部分由逗号替代。
下面的示例先使用Split函数将字符串拆分成数组,然后使用Join函数使用指定的连接字符将数组元素连接成字符串。
Sub TestSplitJoin()
Dim myStr As String
Dim myArray() As String
'由逗号分隔的字符
myStr = 'A1,B2,C3'
'将字符串分成一组子字符串
myArray = Split(myStr, ',')
'显示数组元素
MsgBox myArray(0) & vbCr &myArray(1) & vbCr & myArray(2)
'将数组的所有元素合成一个字符串
'使用 ' and ' 连接
myStr = Join(myArray, ' and ')
'显示字符串
MsgBox myStr
End Sub
运行后的结果如图3所示。
相关链接:
VBA进阶 | 数组基础01: 用最浅显的介绍来帮助你认识数组
VBA进阶 | 数组基础06: 与数组相关的函数——Array函数与IsArray函数
本文属原创文章,转载请注明出处。
欢迎在下面留言,完善本文内容,让更多的人学到更完美的知识。
联系客服