私は文字列を分割して区切り文字を保持する関数を開発してきました。デリミタを分割して保持する
Function SplitButRetainDelims(ByVal text As String, ByVal delimiters As String) As String()
Dim Arr() As String, currentDelim As String
Dim i As Long
For i = 1 To Len(delimiters)
currentDelim = Mid$(delimiters, i, 1)
Arr = Split(Replace(text, currentDelim, currentDelim & "~"), "~")
Next
SplitButRetainDelims = Arr
End Function
問題は、私は今それを持っている方法は、
Arr = Split(Replace(text, currentDelim, currentDelim & "~"), "~")
は、現在の区切り文字からのみ分割して配列するたびに上書きされることです。したがって、以前の繰り返しが行われたという進捗状況を維持する代わりに、リセットされます。
これまで私は容認できる解決策に慣れてきましたが、多くの利益をもたらすにはあまりにも関わっていました。
編集:例
SplitButRetainDelims("potato (onion/soup/Green BEANS", "()/")
= ("potato", " ", "(", "onion", "/", "soup", " ", "/", "Green", " ", "BEANS")
をいくつかのテストデータと期待出力を提供してください。 –