Kann ich geteilt ohne Referenzierung Microsoft.VisualBasic eine Zeichenfolge in c # VB6-Stil?
Frage
Leider scheint es keine String.split (string Trennzeichen) zu sein, nur String.split (char speparator).
Ich möchte meine Zeichenfolge brechen basiert auf einem Multi-Charakter-Separator, a la VB6. Gibt es eine einfache (dh nicht durch Verweis auf Microsoft.VisualBasic oder mit regulären Ausdrücken lernen) Weg, dies in c # zu tun?
EDIT:. Mit .NET Framework 3.5
Lösung
String.Split()
hat andere Überlastungen. Einige von ihnen string[]
Argumente nehmen.
string original = "first;&second;&third";
string[] splitResults = original.Split( new string[] { ";&" }, StringSplitOptions.None );
Andere Tipps
die Regex für spliting Saite ist extrem einfach, so würde ich mit diesem Weg gehen.
Welche Version von .Net? Mindestens 2,0 ab enthält die folgenden Überlastungen:
.Split(string[] separator, StringSplitOptions options)
.Split(string[] separator, int count, StringSplitOptions options)
Nun, wenn sie es nur irgendwelche IEnumerable akzeptieren beheben würde
Die Regex-Version ist wahrscheinlich schönere, aber das funktioniert auch:
string[] y = { "bar" };
string x = "foobarfoo";
foreach (string s in x.Split(y, StringSplitOptions.None))
Console.WriteLine(s);
Das wird foo zweimal gedruckt werden.
string[] stringSeparators = new string[] {"[stop]"};
string[] result;
result = someString.Split(stringSeparators, StringSplitOptions.None);
Ich benutze dies unter .NET 2.0 die ganze Zeit.
string[] args = "first;&second;&third".Split(";&".ToCharArray(),StringSplitOptions.RemoveEmptyEntries);