Vb.net 操作两个数组的拆分函数
我有一个关于Visual Basic中使用的拆分函数的问题。到现在为止,我已经编写了一个函数,它引入了一个字符串值。返回的字符串值可能类似于“List1;List2;Field1,Field2”。我的目标是使用此字符串的split函数将所有列表放在一个数组中,并将字段放在另一个数组中 问题在于List2和Field1的位置之间。我不希望字段1被放置在列表数组中。我想也许有一种方法可以通过解析来做到这一点,但我不确定。下面是我当前的代码。提前感谢您的帮助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
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“哇,太残忍了。你有那个密码吗?您是否可以返回更连贯的字符串,或者让生成字符串的函数为您返回两个数组?非常感谢大家。我简直不敢相信我这么快就得到了答案。