当我执行以下操作时......
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.RemoveEmptyEntries
None
s = 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("|"))