596 Stimmen

Ersetzen von Zeilenumbrüchen in einer Zeichenfolge C#

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

6voto

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

5voto

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

3voto

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

2voto

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

The.Anti.9 Punkte 40824

Verwenden Sie die Methode .Replace()

Line.Replace("\n", "whatever you want to replace with");

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