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
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
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
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);
Sie eine reguläre Ausdrücke aussehen könnten, oder auf andere Weise mit dem Spiel IndexOf()
Funktion
Mit regular expressions.
Code wird nicht getestet, aber ich erwarte nur Kompilierungsprobleme.
In Python, die Zeichenfolge Index-Methode und Schneiden mit:
>>> s = "GREECE(+30)"
>>> s[s.index('(')+1:s.index(')')]
'+30'
würde ich sagen, reguläre Ausdrücke, dies zu tun fähig sind. – luiscubal