3

我需要用 Visual Basic 分隔一个字符串。

缺点是我有不止一个分隔符。

一个是"+",另一个是"-"

我需要代码来检查字符串是否"+"是字符串中的那个然后使用"+"

如果"-"在字符串中,则"-"用作分隔符。

我可以这样做吗?

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

4

2 回答 2

3

最简单的方法是替换第二个字符,然后只拆分一个:

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

你所描述的似乎很简单。只需检查文本是否包含 a+来决定您应该使用哪个分隔符。

试试这个代码:

dim separator as String

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

splitResult = Split(txt, separator, 2)

该代码假定您要拆分的文本在txt变量中。

请注意,我这里没有 VBA,也无法实际运行代码。如果您有任何错误,请告诉我。

于 2012-11-27T07:57:49.067 回答