同じ区切り文字を一定量使用した後、VBAで文字列を分割するにはどうすればよいですか?
例:{"Josh","Green"},{"Peter","John"}
。
{"Josh","Green"}
ここでは、配列の最初のレコードとして、そして2番目のレコードとして使用したいと思い{"Peter","John"}
ます。文字列を文字ごとに解析することは避けたいです。
これを行うにはいくつかの方法がありますが、私の提案は次のとおりです。
分割する前に別のものに置き換え},{
て、新しい区切り文字を作成します。
例えば:
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
これは、元の文字列を区切り記号として分割すると得られる 4 つの文字列ではなく、2 つの文字列とをs
含む Variant-arrayに分割されます。v
v(0)
v(1)
,