Kann ich geteilt ohne Referenzierung Microsoft.VisualBasic eine Zeichenfolge in c # VB6-Stil?

StackOverflow https://stackoverflow.com/questions/154706

  •  03-07-2019
  •  | 
  •  

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

War es hilfreich?

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.

http://msdn.microsoft.com/en-us/library /8yttk7sy.aspx

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 , anstatt nur Array.

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);

http://msdn.microsoft.com/en-us/ Bibliothek / tabh47cf.aspx

Ich benutze dies unter .NET 2.0 die ganze Zeit.

string[] args = "first;&second;&third".Split(";&".ToCharArray(),StringSplitOptions.RemoveEmptyEntries);
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top