如何获得2个其他角色之间的角色?

时间:2011-02-10 10:23:49

标签: vb.net string

我有一个字符串,在某些时候包含以下格式[123]的字符集。

我想要的是获取[]之间的字符,但两者之间的字符长度不一样。

我将如何在VB.NET中使用它?

6 个答案:

答案 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