Hi!
Ich habe eine Textdatei mit folgendem Inhalt:
max Mustermann dddsds sdsd - sdsdsds (ich bin c# anfänger) bbbbb aa ccccdcdc
Ich möchte bei jedem Auftreten von 2 Leerzeilen einen Zeilenumbruch einfügen.
Anschließend möcte ich das Ergebniss als Liste zurück geben.
Leider erhatle ich keine Ausgabe - was mache ich falsch?
Ansatz von hier:
https://msdn.microsoft.com/de-de/library/twcw2f1c%28v=vs.110%29.aspx
Hier mein Versuch:
public string TracksSortieren(string dateiInhalt)
{
string text = dateiInhalt;
string pattern = @"([\s])*\1{2,}"; //Stelle finden wo mindestens 2 Leerzeilen aufeinander folgen
string neuerText;
Regex regex = new Regex(pattern, RegexOptions.IgnoreCase);
Match match = regex.Match(text);
while (match.Success)
{
neuerText = text + "\n";
match = match.NextMatch();
}
return neuerText;
}
leider funktioniert die retunr Anweisung nicht, da die variable "neuerText" ja in der while-Schleife deklariert wird > wie kann ich das ändern?
Als Anfänger tue ich mich noch schwer... Ist das ganze zu Umständlich?
Danke schon jetzt für eure Mühe.
Deine Variable neuerText wurde nicht in der while Schleife deklariert,
sondern in Zeile 6. Besser ist es aber, du definierst es gleich:
string neuerText = null;
Das Problem ist aber, dass du neuerText immer überschreibst, das zu korrigieren ist ein bisschen mehr Arbeit glaub ich.
Aber ich habe einen einfachen Vorschlag für dich:
verwende einfach String->Replace, du benötigst ja keine Regex, da deine Zeichenfolge feststeht.
return text.Replace(" ","\r\n");
Wenn du trotzdem Regex benutzten möchtest, dann nutze dafür auch die Replace-Funktion der Regex Klasse. 😉