拆分功能的不正确行为

时间:2016-11-21 09:49:25

标签: vb.net windows

代码:

 Dim list1 As New List(Of String)(line_items.Split("<<>>"))

我正在尝试拆分跟随字符串。

line_items=8903385828097<>PRINTED  TWILL DUNGAREES<>1<>25.94<>50.00<>497.50<>524.86<>995.00<<>>

获取错误信息。请参考输出:

check output here.

3 个答案:

答案 0 :(得分:3)

Split方法采用Char类型的参数。您的代码将无法使用“Option Strict On”进行编译,因为您已传递类型为String的参数。当Option Strict关闭时,编译器进行从StringChar的隐式类型转换,因此传递“&lt;”c(第一个字符)而不是“&lt;&lt;&gt;&gt;” 。

如果您想按字符串“&lt;&gt;”拆分或“&lt;&lt;&gt;&gt;”,您必须将其中一个值作为字符串数组的唯一元素传递。

Dim list1 As New List(Of String)(line_items.Split(New String() {"<>"}, StringSplitOptions.None))

Dim list1 As New List(Of String)(line_items.Split(New String() {"<<>>"}, StringSplitOptions.None))

答案 1 :(得分:0)

您可以尝试以下代码:

Dim list1 As New List(Of String)(line_items.Replace("<<>>", "").Replace("<>", "#").Split("#"))

答案 2 :(得分:0)

以下是代码:

Dim list1 As New List(Of String)(line_items.Split(New String() {"<<>>"}, StringSplitOptions.RemoveEmptyEntries))

我使用New Char()代替New String()New String()效果很好。