我有一个字符串,在某些时候包含以下格式[123]
的字符集。
我想要的是获取[]
之间的字符,但两者之间的字符长度不一样。
我将如何在VB.NET中使用它?
答案 0 :(得分:15)
Dim s As String = "foo [123]=ro bar"
Dim i As Integer = s.IndexOf("[")
Dim f As String = s.Substring(i + 1, s.IndexOf("]", i + 1) - i - 1)
答案 1 :(得分:1)
Dim s As String = "nav[1]=root"
dim result as String = s.Substring(s.IndexOf("[") + 1, s.IndexOf("]", s.IndexOf("[")) - s.IndexOf("[") - 1)
答案 2 :(得分:0)
你可以使用正则表达式。
Dim s, result As String
Dim r As RegularExpressions.Regex
s = "aaa[bbbb]ccc"
r = New RegularExpressions.Regex("\[([^\]]*)\]")
If r.IsMatch(s) Then
result = r.Match(s).Value
Else
result = ""
End If
答案 3 :(得分:0)
语句RegularExpressions.Regex("\[([^\]]*)\]")
将返回括号和括号内的值!
我已经使用此语句在长字符串中返回由()包围的IPAddress: -
Dim IPRegEx As Regex = New Regex("(?<=\().*?(?=\))")
答案 4 :(得分:0)
我的解决方案:
Dim s As String = "nav[1]=root"
dim result as String = s.substring(s.indexof("[")+1, s.indexof("]")-s.indexof("[")-1)
答案 5 :(得分:-1)
你可以这样做..
Dim val As String = str.Substring(1, str.Length - 2) // replace str with your string variable