我需要用 Visual Basic 分隔一个字符串。
缺点是我有不止一个分隔符。
一个是"+"
,另一个是"-"
。
我需要代码来检查字符串是否"+"
是字符串中的那个然后使用"+"
如果"-"
在字符串中,则"-"
用作分隔符。
我可以这样做吗?
例如:Split( "TEXT" , "+" OR "-" ,2)
最简单的方法是替换第二个字符,然后只拆分一个:
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
你所描述的似乎很简单。只需检查文本是否包含 a+
来决定您应该使用哪个分隔符。
试试这个代码:
dim separator as String
separator = Iif(InStr(txt, "+") <> 0, "+", "-")
splitResult = Split(txt, separator, 2)
该代码假定您要拆分的文本在txt
变量中。
请注意,我这里没有 VBA,也无法实际运行代码。如果您有任何错误,请告诉我。