如何在一定数量的相同分隔符后在VBA中拆分字符串?
例如:{"Josh","Green"},{"Peter","John"}
。
在这里,我希望{"Josh","Green"}
作为数组中的第一条记录,{"Peter","John"}
作为第二条记录。我想避免逐个字符地解析字符串。
答案 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)
,而不是四个字符串,如果您拆分,则可以获得原始字符串,只有,
作为分隔符。