2012-07-12 2 views

답변

0

정규식으로 체크 아웃

Dim result As String 
Dim txt As String ="A1(Value)" 
Dim re1 As String=".*?" 
Dim re2 As String="((?:[a-z][a-z]+))" 
Dim r As Regex = new Regex(re1+re2,RegexOptions.IgnoreCase Or RegexOptions.Singleline) 
Dim m As Match = r.Match(txt) 
If (m.Success) Then 
    Dim word1=m.Groups(1) 
    result = word1.ToString() 
End If 

은 알았어요 : http://txt2re.com/index-vb.php3?s=A1%28Value%29&2


또는 단지 하나의 길이가-

1

당신은 RegularExpression을 사용할 수에 3 문자에서 문자열을 분할 :

Dim str = "A1(Value)...(anotherValue)" 
Dim pattern = "\(([^)]*)\)" 
Dim regex = New System.Text.RegularExpressions.Regex(pattern, System.Text.RegularExpressions.RegexOptions.Compiled) 
Dim firstBracket = regex.Match(str) 
If firstBracket.Value.Length <> 0 Then 
    Dim inFirstBracket = firstBracket.Value.Substring(1, firstBracket.Value.Length - 2) 
    'Value' 
End If 
0

당신이 다음 괄호의 위치를 ​​찾기 위해 IndexOf를 사용할 수있는 정규 표현식을 사용하지 않는 경우와 SubString는 괄호 안에 문자열의 부분으로 돌아갑니다 :

Dim txt As String = "A1(Value)" 
Debug.WriteLine(txt.Substring(txt.IndexOf("(") + 1, txt.IndexOf(")") - txt.IndexOf("(") - 1)) 

참고 문자열 경우 그 열기 및 닫기 괄호가 포함되어 있지 않으므로 예외가 발생하여 오류 검사를 추가 할 수 있습니다.

관련 문제