VBA字符串分隔符

时间:2013-03-12 12:44:43

标签: excel vba excel-vba

如何在一定数量的相同分隔符后在VBA中拆分字符串?

例如:{"Josh","Green"},{"Peter","John"}

在这里,我希望{"Josh","Green"}作为数组中的第一条记录,{"Peter","John"}作为第二条记录。我想避免逐个字符地解析字符串。

1 个答案:

答案 0 :(得分:3)

有几种方法可以做到这一点,我的建议是:

在拆分前用其他内容替换},{,以创建新的分隔符。

例如:

Option Explicit

Sub Test()
    Const c As String = "{""Josh"",""Green""},{""Peter"",""John""}"
    Dim s As String
    Dim v As Variant

    s = Replace(c, "},{", "}#,#{", 1)

    v = Split(s, "#,#")

    Debug.Print v(0)    '{"Josh","Green"}
    Debug.Print v(1)    '{"Peter","John"}
End Sub

这会将s拆分为变体数组v,其中包含两个字符串v(0)v(1),而不是四个字符串,如果您拆分,则可以获得原始字符串,只有,作为分隔符。