Aufteilen einer Zeichenfolge in C #

7

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!

    
user1875195 14.03.2013, 22:46
quelle

4 Antworten

16

Verwenden Sie stattdessen die Methode Regex.Matches :

%Vor%     
Guffa 14.03.2013, 22:50
quelle
9

Die Split -Methode gibt Sub-Strings zwischen zurück Instanzen des angegebenen Musters. Zum Beispiel:

%Vor%

Ergebnisse im Array [ "this", "is", "a", "test" ] .

Die Lösung besteht darin, stattdessen Matches zu verwenden .

%Vor%

Sie können dann Linq verwenden, um einfach ein Array von übereinstimmenden Werten zu erhalten:

%Vor%     
p.s.w.g 14.03.2013 22:49
quelle
0

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.

    
Kenneth K. 15.03.2013 00:07
quelle
-1

Anstatt eine Regex zu verwenden, könnten Sie die Split -Methode für die Zeichenfolge wie folgt verwenden

%Vor%

Sie werden mit dieser Methode [ und ] um Ihre Ergebnisse verlieren, aber es ist nicht schwer, sie bei Bedarf wieder hinzuzufügen.

    
Brian Surowiec 14.03.2013 22:54
quelle

Tags und Links