2017-04-21 12 views
-4

Ich habe eine Zeichenfolge wie,Wie bekomme ich eine Zeichenfolge vor einer Zeichenfolge in C#?

string1 string2.method(); 

Wie kann ich extrahieren Zeichenfolge2 aus dem String? Angenommen, ich habe,

string var.ToUpper(); 

Wie kann ich var aus dieser Zeichenfolge erhalten?

Vielen Dank im Voraus

+5

Können Sie ein Beispiel hinzufügen, das kompiliert? – Lee

+1

Gleiche Frage vor 1 Stunde http://stackoverflow.com/questions/43541223/how-to-trim-the-end-of-a-string-after-the-first-occurrence-of-a-char-c-sharp – fubo

+1

Es ist sehr unklar, was Sie fragen ... –

Antwort

1

Sie regex Eingabezeichenfolge verwenden können, analysieren und angepasst Gruppen auswählen (ich verwende named groups hier). Z.B.

string input = "string var.ToUpper();"; 
string pattern = @"(?<string1>[^\s]+) (?<string2>[^\.]+)\.(?<method>[^\(]+)\(\);"; 
string string2 = Regex.Match(input,).Groups["string2"].Value; // "var" 

Andere Gruppen hier werden Werte haben folgende:

"string1" : "string" 
"string2" : "var" 
"method" : "ToUpper" 

Die erste Gruppe wählt alle Zeichen, bis es Raum erfüllt. Dann wählt die zweite Gruppe alle Zeichen aus, bis sie auf den Punkt treffen. Und letzte Gruppe nimmt alles zwischen Punkt und Klammern.

Verwandte Themen