当我执行以下操作时......
Dim s As String = ""
Dim sLines() As String = s.Split("|", StringSplitOptions.None)
...
sLines.Count 为 1。
为什么?
没有什么要拆分的,要拆分的字符串是空的,所以我希望 sLines.Count 为 0。
谢谢你。
当我执行以下操作时......
Dim s As String = ""
Dim sLines() As String = s.Split("|", StringSplitOptions.None)
...
sLines.Count 为 1。
为什么?
没有什么要拆分的,要拆分的字符串是空的,所以我希望 sLines.Count 为 0。
谢谢你。
一种一致性:如果"a|b"split on|是 [ "a", "b"] 并且"a"split on|是 [ ],那么 split on是[ , ]并且split on是[ "a"] 是有意义的。"|b"|"""b"""|""
您可以通过传递而不是删除所有空条目,或者仅手动检查。StringSplitOptions.RemoveEmptyEntriesNones = String.Empty
您可以使用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("|"))