550 Stimmen

Was ist der Unterschied zwischen \r\n, \r und \n?

Was ist der Unterschied in einem String zwischen \r\n, \r und \n? Wie wird ein String von jedem beeinflusst?

Ich muss die Vorkommen von \r\n und \r mit \n ersetzen, aber ich verstehe nicht, wie sie sich in einem String unterscheiden...

Ich weiß, dass \r ist wie die Eingabetaste und \n ist für eine neue Zeile.

686voto

Tom Bowen Punkte 7924
  • \r = CR (Wagenrücklauf) → Wird als Zeilenumbruchszeichen in Mac OS vor X verwendet
  • \n = LF (Zeilenumbruch) → Wird als Zeilenumbruchszeichen in Unix/Mac OS X verwendet
  • \r\n = CR + LF → Wird als Zeilenumbruchszeichen in Windows verwendet

267voto

Exasm Punkte 2711

Alle drei von ihnen stellen das Ende einer Zeile dar. Aber...

  • \r (Wagenrücklauf) → bewegt den Cursor an den Anfang der Zeile, ohne zur nächsten Zeile zu wechseln
  • \n (Zeilenvorschub) → bewegt den Cursor zur nächsten Zeile, ohne an den Anfang der Zeile zurückzukehren — In einer *nix-Umgebung wechselt \n zum Anfang der Zeile.
  • \r\n (Ende der Zeile) → eine Kombination aus \r und \n

31voto

durilka Punkte 1289

Sie sind normale Symbole wie 'a' oder '' oder jede andere. Einfach (unsichtbare) Einträge in einem String. \r bewegt den Cursor zum Anfang der Zeile. \n geht eine Zeile nach unten.

Was den Ersatz betrifft, haben Sie nicht angegeben, welche Sprache Sie verwenden, also hier ist der Entwurf:

someString.replaceAll("\r\n", "\n").replaceAll("\r", "\n")

18voto

Matten Punkte 16955

Ein Wagenrücklauf (\r) bewirkt, dass der Cursor zur ersten Spalte (Anfang der Zeile) springt, während der Zeilenumbruch (\n) zur nächsten Zeile springt und möglicherweise auch zum Anfang dieser Zeile. Um sicherzustellen, dass man sich in der nächsten Zeile an der ersten Position befindet, verwendet man beide.

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