Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vb.net 操作两个数组的拆分函数_Vb.net_Arrays_String_Split - Fatal编程技术网

Vb.net 操作两个数组的拆分函数

Vb.net 操作两个数组的拆分函数,vb.net,arrays,string,split,Vb.net,Arrays,String,Split,我有一个关于Visual Basic中使用的拆分函数的问题。到现在为止,我已经编写了一个函数,它引入了一个字符串值。返回的字符串值可能类似于“List1;List2;Field1,Field2”。我的目标是使用此字符串的split函数将所有列表放在一个数组中,并将字段放在另一个数组中 问题在于List2和Field1的位置之间。我不希望字段1被放置在列表数组中。我想也许有一种方法可以通过解析来做到这一点,但我不确定。下面是我当前的代码。提前感谢您的帮助 Dim s As Stri

我有一个关于Visual Basic中使用的拆分函数的问题。到现在为止,我已经编写了一个函数,它引入了一个字符串值。返回的字符串值可能类似于“List1;List2;Field1,Field2”。我的目标是使用此字符串的split函数将所有列表放在一个数组中,并将字段放在另一个数组中

问题在于List2和Field1的位置之间。我不希望字段1被放置在列表数组中。我想也许有一种方法可以通过解析来做到这一点,但我不确定。下面是我当前的代码。提前感谢您的帮助

        Dim s As String = GetSetting("ReOrderList", properties.SiteId)
        Dim affectedLists() As String = s.Split(";")
        Dim affectedFields() As String = s.Split(",")

使用
String.LastIndexOf
查找字符串的分割位置

Imports System

Class Test
    Shared Sub Main()

        Dim sample As String = "List1;List2; Field1,Field2"

        Dim middle As Int32 = sample.LastIndexOf(";")

        Dim lists As String = sample.Substring(0, middle).Trim()
        Dim fields As String = sample.Substring(middle + 1).Trim()

        Dim affectedLists As String() = lists.Split(";"C)
        Dim affectedFields As String() = fields.Split(","C)

    End Sub
End Class

如果您知道列表将出现在字段之前,您可以在最后一个“;”处切掉字符串人物:

Dim splitPos As Integer = input.LastIndexOf(";"c)
Dim lists As String = input.Substring(0, splitPos+1)
Dim fields As String = input.Substring(splitPos+1, input.Length - (splitPos+1))

然后您可以分别处理列表和字段。

“返回的字符串值可能如下所示”列表1;清单2;现场1,现场2“哇,太残忍了。你有那个密码吗?您是否可以返回更连贯的字符串,或者让生成字符串的函数为您返回两个数组?非常感谢大家。我简直不敢相信我这么快就得到了答案。