2009-07-04 15 views
0

Wie kann ich die Zeichenfolge innerhalb einer Klammer mit einer benutzerdefinierten Funktion erhalten?Zeichenfolge Teilstring-Funktion

e.x. die Zeichenkette "GRIECHENLAND (+30)" sollte "+30" nur

+2

würde ich sagen, reguläre Ausdrücke, dies zu tun fähig sind. – luiscubal

Antwort

5

Es gibt verschiedene Möglichkeiten.

Plain String-Methoden:

Dim left As Integer = str.IndexOf('(') 
Dim right As Integer= str.IndexOf(')') 
Dim content As String = str.Substring(left + 1, right - left - 1) 

Regulärer Ausdruck:

Dim content As String = Regex.Match(str, "\((.+?)\)").Groups[1].Value 
3

zurückgeben Für das allgemeine Problem würde ich vorschlagen, Regex zu verwenden. Allerdings, wenn Sie sicher sind, über das Format der Eingabezeichenfolge (nur einen Satz von Pars, offenen paren vor dem Schließen paren), das funktionieren würde:

int startIndex = s.IndexOf('(') + 1; 
string result = s.Substring(startIndex, s.LastIndexOf(')') - startIndex); 
0

Sie eine reguläre Ausdrücke aussehen könnten, oder auf andere Weise mit dem Spiel IndexOf() Funktion

1

Mit regular expressions.

Code wird nicht getestet, aber ich erwarte nur Kompilierungsprobleme.

0

In Python, die Zeichenfolge Index-Methode und Schneiden mit:

>>> s = "GREECE(+30)" 
>>> s[s.index('(')+1:s.index(')')] 
'+30' 
Verwandte Themen