我需要用Visual Basic分隔字符串。
缺点是我有一个以上的分隔符。
一个是"+"
,另一个是"-"
。
我需要代码来检查字符串,如果"+"
是字符串中的那个,那么使用"+"
如果"-"
在字符串中,则使用"-"
作为分隔符。
我可以这样做吗?
例如:Split( "TEXT" , "+" OR "-" ,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,无法实际运行代码。如果您收到任何错误,请与我们联系。