我得到一个表示路径的String。对于测试目的,让我说我得到:
abc/def/ghi/jkl/....
我想按照以下方式吐出该字符串(首先是2个分开,然后是其余部分):
Items(0) = "abc"
Items(1) = "def"
Items(2) = "ghi/jkl/..."
我选择使用正则表达式如下:
Dim someString = "abc/def/ghi/jkl/...."
Dim Items() As String = Regex.Split(someString, "([_0-9a-zA-Z-]+)/([0-9a-zA-Z]+)/(.*)")
但我得到以下输出:
Items(0) = ""
Items(1) = "abc"
Items(2) = "def"
Items(3) = "ghi/jkl/..."
Items(4) = ""
有人可以解释在开头和结尾导致这些空字符串的原因吗?
我感谢你的时间,祝你周末愉快
答案 0 :(得分:2)
答案 1 :(得分:2)
String.Split与Skip方法结合使用可以成为解决此问题的可读且紧凑的替代方法:
Dim text = "abc/def/ghi/jkl/...."
Dim parts As String() = text.Split("/"c)
If parts.Count >= 2 Then
Dim items As String() = {parts.First, parts.Skip(1).First, String.Join("/", parts.Skip(2))}
End If