Wie kann ich Zeilenumbrüche innerhalb einer Zeichenfolge in C# ersetzen?
Antworten
Zu viele Anzeigen?Eine weitere Möglichkeit ist die Erstellung eines StringReader
über die betreffende Zeichenfolge. Auf dem Lesegerät machen Sie .ReadLine()
in einer Schleife. Dann haben Sie die Zeilen getrennt, unabhängig davon, welche (konsistenten oder inkonsistenten) Trennzeichen sie hatten. Damit können Sie fortfahren, wie Sie wollen; eine Möglichkeit ist die Verwendung einer StringBuilder
und rufen .AppendLine
darauf.
Der Vorteil ist, dass Sie das Framework entscheiden lassen, was ein "Zeilenumbruch" ist.
Wenn Sie nur die Zeilenumbrüche ersetzen wollen:
var input = @"sdfhlu \r\n sdkuidfs\r\ndfgdgfd";
var match = @"[\\ ]+";
var replaceWith = " ";
Console.WriteLine("input: " + input);
var x = Regex.Replace(input.Replace(@"\n", replaceWith).Replace(@"\r", replaceWith), match, replaceWith);
Console.WriteLine("output: " + x);
Wenn Sie Zeilenumbrüche, Tabulatoren und Leerzeichen ersetzen möchten:
var input = @"sdfhlusdkuidfs\r\ndfgdgfd";
var match = @"[\\s]+";
var replaceWith = "";
Console.WriteLine("input: " + input);
var x = Regex.Replace(input, match, replaceWith);
Console.WriteLine("output: " + x);
- See previous answers
- Weitere Antworten anzeigen