2011-02-10 93 views
4

我有一個字符串,它在某些時候包含以下格式的字符集[123]如何獲得2個其他角色之間的角色?

我想要做的是獲得[]之間的字符,但中間的字符永遠不會是相同的長度。

在VB.NET中我會如何解決這個問題?

回答

12
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) 
0

你可以做這樣的事情..

Dim val As String = str.Substring(1, str.Length - 2) // replace str with your string variable 
+1

的OP有一個字符串*「這在某些時候」 *有這些字符。他們沒有組成整個字符串。 – LukeH 2011-02-10 10:29:45

+0

因此,它足夠明智地用OP所具有的字符串變量替換s。 – 2011-02-10 10:31:09

0
Dim s As String = "nav[1]=root" 
dim result as String = s.Substring(s.IndexOf("[") + 1, s.IndexOf("]", s.IndexOf("[")) - s.IndexOf("[") - 1) 
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 
0

聲明RegularExpressions.Regex("\[([^\]]*)\]")將返回內支架支架自身的價值!

我已經使用這個語句返回包圍的ip地址()長的字符串中: -

Dim IPRegEx As Regex = New Regex("(?<=\().*?(?=\))") 
相關問題