打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
VBA进阶 | 数组基础07: 与数组相关的函数——Split函数与Join函数

 

Split函数可以将一个包含分隔符的字符串解析成一个数组,更一般地说,是可以把一个字符串拆分并创建一个一维字符串数组。

Split函数相对,Join函数可以将数组中的各元素数据使用指定的分隔符连接成一个字符串。

 

Split函数语法

Split函数返回一个Variant型数组,该数组由传递给该函数的参数根据指定的分隔符分解而成。其语法为:

Split(expression,[delimiter[, count[, compare]]])

其中:

  • 参数expression必需,为String型,要拆分成数组的字符串。

  • 参数delimiter可选,为Variant型,界定expression中的子字符串的字符。

  • 参数count可选,为Long型,要返回的字符串数。

  • 参数compare可选,指定比较的方法,为vbCompareMethod常数:vbBinaryComparevbTextCompare或者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所示。

 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所示。

 图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进阶 | 数组基础02: 简单的数组操作

VBA进阶 | 数组基础03: 二维数组

VBA进阶 | 数组基础04: 运用数组处理工作表数据

VBA进阶 | 数组基础05: 动态数组

VBA进阶 | 数组基础06: 与数组相关的函数——Array函数与IsArray函数

 


 

本文属原创文章,转载请注明出处。

欢迎在下面留言,完善本文内容,让更多的人学到更完美的知识。

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
一些有用的在VBA中处理数组的函数
AS入门教程第五课-数组原创][本文已收录教程库] - Flash互助课堂 - 中国教程网...
Flash AS 数组
VBA进阶 | 数组基础08: 与数组相关的函数——Filter函数
asp?vbscript?数组的使用
15个你应该掌握的JavaScript数组方法
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服