Sie können Regex verwenden.
string input = @"if((s1 != null) && (!s1.Trim().Equals("")))";
string pattern = @"\({2}(.*)\)\s&&\s\((.*)\){2}";
var values = Regex.Matches(input, pattern);
Console.WriteLine(values[0].Groups[1]); // s1 != null
Console.WriteLine(values[0].Groups[2]); // !s1.Trim().Equals("")
Sie können auch give a name to each group wie folgt aus:
string input = @"if((s1 != null) && (!s1.Trim().Equals("")))";
string pattern = @"\({2}(?<FirstGroup>.*)\)\s&&\s\((?<SecondGroup>.*)\){2}";
var values = Regex.Matches(input, pattern);
Console.WriteLine(values[0].Groups["FirstGroup"]); // s1 != null
Console.WriteLine(values[0].Groups["SecondGroup"]); // !s1.Trim().Equals("")
Shure, sollten Sie ein paar Kontrollen hinzufügen, bevor Sie die angepassten Ergebnisse zugreifen (wenn es).
Regex Erklärung
- \ ({2}: entspricht das Zeichen (zwei Mal;
- (*):. Jedes Zeichen so oft wie möglich übereinstimmt;
- \) \ s & & \ s: entspricht a) gefolgt von: einem oder mehreren Leerzeichen, zwei kaufmännischen Und-Zeichen, einem oder mehreren Leerzeichen;
- ähnlich dem ersten Punkt