拆分(“TEXT”,“+”OR“ - ”,2)

时间:2012-11-27 07:45:50

标签: vba split

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

缺点是我有一个以上的分隔符。

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

我需要代码来检查字符串,如果"+"是字符串中的那个,那么使用"+"

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

我可以这样做吗?

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

2 个答案:

答案 0 :(得分: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

答案 1 :(得分:1)

你所描述的内容似乎非常简单。只需检查文本是否包含+以确定您应使用哪个分隔符。

试试这段代码:

dim separator as String

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

splitResult = Split(txt, separator, 2)

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

请注意,我这里没有VBA,无法实际运行代码。如果您收到任何错误,请与我们联系。