Wie kann ich Zeilenumbrüche innerhalb einer Zeichenfolge in C# ersetzen?
Antworten
Zu viele Anzeigen?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;
}
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");
}
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.