visual studio split function issue

时间:2017-08-03 03:54:48

标签: vb.net visual-studio-2005

我尝试在visual studio上调用split函数,如下所示,我希望它在分割后返回数组中的2个项目,但是vb从我的编码中返回5个结果。是考虑vb问题还是我的编码问题?

整个字符串是“NAME”:“ALICE”

Dim a As String = """NAME"":""ALICE""" Dim b() As String = a.Split(""":")

分割后我在数组中的预期输出
(1)“NAME
(2)“驴友”

enter image description here

2 个答案:

答案 0 :(得分:3)

您使用的是this overload of String.Split(Char[])。请注意,它采用一个字符数组。字符串可以转换为字符数组(这就是你可以编译的原因),但它不相等。尝试将Option Strict On放在代码顶部。它不再编译,因为你不再编译:)

传递单个字符串时,字符串中的每个字符都用于拆分。在您的参数中包含每个 " ":。它将分为":。你可以通过使用this overload of String.Split(String[], SplitStringOptions)将字符串数组传递给Split来绕过它。像这样传递单个元素数组

Dim b = a.Split({""":"}, StringSplitOptions.RemoveEmptyEntries)

enter image description here

是的,就像你说的那样,

  • " NAME
  • " ALICE"

你想摆脱结果中的引号吗?你可以这样做

Dim b = a.Split({":", """"}, StringSplitOptions.RemoveEmptyEntries)

enter image description here

然后就是这个,

  • NAME
  • ALICE

答案 1 :(得分:0)

    Dim a As String = """NAME"":""ALICE"""
    Dim b() As String = a.Split(":")

这是评估的方式

enter image description here