Split string array, Leerzeichen entfernen
Ich habe eine Frage zum teilen von string. Ich möchte split-string, aber wenn in der string-chars sehen "" dann wird nicht aufgeteilt, und entfernen Sie leere Räume.
Mein String:
String tmp = "abc 123 \"Edk k3\" String;";
Ergebnis:
1: abc
2: 123
3: Edkk3 //don't split after "" and remove empty spaces
4: String
Mein code für Ergebnis, aber ich weiß nicht, wie zu entfernen Leerzeichen in ""
var tmpList = tmp.Split(new[] { '"' }).SelectMany((s, i) =>
{
if (i % 2 == 1) return new[] { s };
return s.Split(new[] { ' ', ';' }, StringSplitOptions.RemoveEmptyEntries);
}).ToList();
Oder aber dies nicht zu sehen "", so teilt es alles
string[] tmpList = tmp.Split(new Char[] { ' ', ';', '\"', ',' }, StringSplitOptions.RemoveEmptyEntries);
InformationsquelleAutor Le Viet Hung | 2012-11-30
Du musst angemeldet sein, um einen Kommentar abzugeben.
Hinzufügen .Replace(" ","")
InformationsquelleAutor SergeyS
string.Split
ist nicht geeignet für das, was Sie tun möchten, wie man nicht sagen kann, es zu ignorieren, was in der"
.Würde ich nicht gehen mit
Regex
entweder, da dies kompliziert und speicherintensiv (lange Saiten).Umzusetzen, eine eigene parser - mit einer state-Maschine zu verfolgen, ob Sie innerhalb eines zitierten Teil.
InformationsquelleAutor Oded
Können Sie einen regulären Ausdruck verwenden. Statt der Aufspaltung, geben Sie, was Sie behalten möchten.
Beispiel:
Ausgabe:
InformationsquelleAutor Guffa