Mehrzeiligen String in Array kopieren
-
Wie kopiere ich einen mehrzeiligen String zeilenweise in ein Array? Gibt es dafür eine vorgefertigte Lösung? Da ja der Zeilenumbruch aus mehr als einem Zeichen ("\r\n") bestehen kann, ist es mit einem einfachen Split nicht getan. Ich hab es also so gemacht:
meinString.Replace(Environment.NewLine, "\n").Split('\n');
Ist das die dafür gedachte Methode oder gibt's etwas besseres?
-
Split() liefert doch schon ein Array zurück.
-
Ich weiß. So, wie ich es dargestellt habe, funktioniert es ja auch:
string[] meinArray = meinString.Replace(Environment.NewLine, "\n").Split('\n');
Ich wollte nur fragen, ob es eine elegantere Möglichkeit gibt oder vielleicht etwas Vorgefertigtes, das genau für diese Zwecke erschaffen wurde.
Dadurch, dass der Zeilenumbruch kein einzelnes Zeichen sein muss, sondern ein String sein kann ("\r\n") kann ich nicht einfach schreiben:string[] meinArray = meinString.Split(Environment.NewLine);
Sondern ich muss Environment.NewLine erstmal durch ein einzelnes Zeichen ersetzen und dann diesen ersetzten String anhand dieses Zeichens splitten. Und da wüsste ich gern, ob es da was besseres gibt. Einen String nach Zeilen aufzusplitten, sollte ja schließlich auch nichts sein, was so speziell ist. Vielleicht gibt es da also schon was.
-
Wo kommt der String denn her? Kommt der durch eine Eingabe? Liest du eine Datei ein? Und brauchst du unbedingt ein Array?
-
Kannst du nicht sowas in der Art machen?
string[] meinArray = meinString.Split(new string[] { "\r", "\n", "\r\n" }, StringSplitOptions.RemoveEmptyEntries);