当我做以下事情时......
Dim s As String = ""
Dim sLines() As String = s.Split("|", StringSplitOptions.None)
...
sLines.Count是1。
为什么?
没有什么可以拆分,要拆分的字符串是空的,所以我希望sLines.Count为0。
谢谢。
答案 0 :(得分:3)
一种一致性:如果"a|b"
上的|
分割为["a"
,"b"
],则"a"
上的|
分割为[ "a"
],"|b"
上的|
分割为[""
,"b"
]和""
分割{{1}成为[|
]。
您可以通过""
代替StringSplitOptions.RemoveEmptyEntries
删除所有空条目,或者只是手动检查None
。
答案 1 :(得分:2)
答案 2 :(得分:0)
您可以使用IIf()
函数来处理空字符串
Dim s As String = ""
Dim sLines() As String = IIf(s = String.Empty, Nothing, s.Split("|"))
Dim cnt As Integer
If sLines IsNot Nothing Then
'your code
cnt = sLines.Count
Else
'your code
cnt = 0
End If
注意:如果你想处理空格(Dim s As String = " "
),只需使用trim()
这样
IIf(Trim(s) = String.Empty, Nothing, s.Split("|"))