Ich versuche, eine Zeichenfolge in C # folgendermaßen aufzuteilen:
Eingehende Zeichenfolge hat die Form
%Vor%Und ich versuche, es in ein Array von Strings in der Form
zu teilen %Vor%Ich habe versucht, es so zu machen.
%Vor%Aber es funktioniert auf diese Weise nicht richtig, ich bekomme nur ein leeres Array oder Strings
Jede Hilfe wäre willkommen!
Die Split
-Methode gibt Sub-Strings zwischen zurück Instanzen des angegebenen Musters. Zum Beispiel:
Ergebnisse im Array [ "this", "is", "a", "test" ]
.
Die Lösung besteht darin, stattdessen Matches
zu verwenden .
Sie können dann Linq verwenden, um einfach ein Array von übereinstimmenden Werten zu erhalten:
%Vor%Eine andere Option wäre die Verwendung von Lookaround-Assertions für Ihre Aufteilung.
z.B.
%Vor%Dieser Ansatz teilt sich effektiv auf die Lücke zwischen einer schließenden und einer öffnenden eckigen Klammer.
Anstatt eine Regex zu verwenden, könnten Sie die Split
-Methode für die Zeichenfolge wie folgt verwenden
Sie werden mit dieser Methode [
und ]
um Ihre Ergebnisse verlieren, aber es ist nicht schwer, sie bei Bedarf wieder hinzuzufügen.