3

VisualBasicで文字列を区切る必要があります。

欠点は、セパレーターが複数あることです。

1つはで"+"、もう1つは"-"です。

"+"文字列内にあるかどうかを確認するためのコードが必要です。"+"

文字列内にある場合は、区切り文字として"-"使用します。"-"

これはできますか?

例えば:Split( "TEXT" , "+" OR "-" ,2)

4

2 に答える 2

3

最も簡単な方法は、2番目の文字を置き換えてから、1つだけで分割することです。

Dim txt As String, updTxt As String
Dim splitTxt() As String

updTxt = Replace(txt, "-", "+")

splitTxt = Split(updTxt, "+")

またはより複雑。以下は、分割された後のパーツのコレクションを返します。必要に応じて、戻りデータをもう少しカスタマイズできます。

Dim txt As String, outerTxt As Variant, innerTxt As Variant
Dim splitOuterTxt() As String
Dim allData As New Collection

    txt = "test + test - testing + ewfwefwef - fwefwefwf"

    splitOuterTxt = Split(txt, "+")

    For Each outerTxt In splitOuterTxt

        For Each innerTxt In Split(outerTxt, "-")

            allData.Add innerTxt

        Next innerTxt

    Next outerTxt
于 2012-11-27T11:13:08.327 に答える
1

あなたが説明することはかなり簡単に思えます。テキストにが含まれているかどうかを確認して、+使用する区切り文字を決定してください。

このコードを試してください:

dim separator as String

separator = Iif(InStr(txt, "+") <> 0, "+", "-")

splitResult = Split(txt, separator, 2)

txtこのコードは、分割するテキストが変数に含まれていることを前提としています。

ここにはVBAがなく、実際にコードを実行できなかったことに注意してください。エラーが発生した場合は、お知らせください。

于 2012-11-27T07:57:49.067 に答える