629 Stimmen

Ersetzen von Zeilenumbrüchen in einer Zeichenfolge C#

Wie kann ich Zeilenumbrüche innerhalb einer Zeichenfolge in C# ersetzen?

7voto

Zamir Punkte 61

Ich musste die \r\n mit einem tatsächlichen Wagenrücklauf und Zeilenvorschub und ersetzen \t mit einer tatsächlichen Registerkarte. Also habe ich mir das Folgende ausgedacht:

public string Transform(string data)
{
    string result = data;
    char cr = (char)13;
    char lf = (char)10;
    char tab = (char)9;

    result = result.Replace("\\r", cr.ToString());
    result = result.Replace("\\n", lf.ToString());
    result = result.Replace("\\t", tab.ToString());

    return result;
}

6voto

Matt Hinze Punkte 13498
var answer = Regex.Replace(value, "(\n|\r)+", replacementString);

4voto

Amrik Punkte 31

Eine neue Zeile kann durch \n , \r y \r\n ersetzen wir zunächst \r y \r\n con \n und erst dann die Datenkette aufteilen.

Die folgenden Zeilen sollten in die parseCSV Methode:

function parseCSV(data) {
    //alert(data);
    //replace UNIX new lines
    data = data.replace(/\r\n/g, "\n");
    //replace MAC new lines
    data = data.replace(/\r/g, "\n");
    //split into rows
    var rows = data.split("\n");
}

3voto

data Punkte 2069

Die beste Möglichkeit, Leitungsunterbrechungen sicher zu ersetzen, ist

yourString.Replace("\r\n","\n") //handling windows linebreaks
.Replace("\r","\n")             //handling mac linebreaks

die eine Zeichenkette erzeugen sollte, die nur \n (z.B. Zeilenumbruch) als Zeilenumbrüche. Dieser Code ist auch nützlich, um gemischte Zeilenumbrüche zu beheben.

2voto

MSS Punkte 3168

Basierend auf @mark-bayers Antwort und für eine sauberere Ausgabe:

string result = Regex.Replace(ex.Message, @"(\r\n?|\r?\n)+", "replacement text");

Sie beseitigt \r\n , \n y \r während längere und vereinfachte Mehrfachnennungen zu einer werden.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X