我正试图找到一种将路径(原始URL(轻松拆分为两部分的方法:例如:/search/creditions/newyork/list
我想填充一个字符串,该字符串将包含第三个斜杠之前的所有内容,在本例中为:"/search/ccriteria"我还想将第二部分放入字符串中:"newyork/list">
您可以使用IndexOf
来查找第三个斜杠(假设第一个字符始终是第一个斜杠,并且字符串中至少有三个斜杠(:
Dim index3 = url.IndexOf("/"c, url.IndexOf("/"c, 1) + 1)
然后,您可以使用Substring
获取斜线前后的零件:
Dim path As String = url.Substring(0, index3)
Dim resource As String = url.Substring(index3 + 1)
试试这个:
Dim sAux() As String = sURL.Split("/"c)
Dim sResult As String = ""
If sAux.Length > 3 Then
For i As Integer = 2 to sAux.Length - 1
sResult &= sAux(i) & "/"
Next
End If
或者这个:
Dim sAux As New List(Of String)(sURL.Split("/"c))
sAux.RemoveRange(0,2)
sResult = String.Join("/", sAux.ToArray())
Dim ar As String()
Dim str1 As String
Dim str2 As String
Dim a As Integer
Dim splitPosition = 3
Dim urlToSplit = "/search/criteria/newyork/list"
ar = urlToSplit.Split("/"c)
If UBound(ar) < splitPosition Then
' there are 3 or less slashes. do what you want here, error or just exit
Else
For a = 0 To splitPosition - 1
If Not String.IsNullOrEmpty(ar(a)) Then str1 += ar(a) + "/"
Next
For a = splitPosition To UBound(ar)
If Not String.IsNullOrEmpty(ar(a)) Then str2 += ar(a) + "/"
Next
End If
str1
将包含/search/criteria/
str2
将包含newyork/list/
此代码将处理任意数量的/
组合,并且不应出现格式错误的Url 错误
如果您的字符串总是采用相同的格式,并且具有相同数量的元素(在拆分的数组中(,则可以使用String.Format
方法作为;
Dim arr() As String = "/search/criteria/newyork/list".Split("/"c)
Dim str1 As String = String.Format("/{1}/{2}", arr) '/search/criteria
Dim str2 As String = String.Format("{3}/{4}", arr) 'newyork/list