88 votos

¿Cuál es la diferencia entre \r\n, \r y \n?

¿Cuál es la diferencia en una cadena entre \r\n, \r y \n? ¿Cómo afecta cada una a una cadena?

Tengo que reemplazar las ocurrencias de \r\n y \r con \n, pero no logro entender cómo son diferentes en una cadena...

Sé que \r es como presionar enter y \n es para una nueva línea.

134voto

Tom.Bowen89 Puntos 1038
  • \r = CR (retorno de carro) → Se utiliza como carácter de nueva línea en Mac OS antes de X
  • \n = LF (avance de línea) → Se utiliza como carácter de nueva línea en Unix/Mac OS X
  • \r\n = CR + LF → Se utiliza como carácter de nueva línea en Windows

24voto

Exasm Puntos 81

Los tres representan el final de una línea. Pero...

  • \r (Retorno de carro) → mueve el cursor al principio de la línea sin avanzar a la siguiente línea
  • \n (Avance de línea) → mueve el cursor hacia abajo a la siguiente línea sin regresar al principio de la línea — En un entorno *nix \n regresa al principio de la línea
  • \r\n (Fin de la línea) → una combinación de \r y \n

5voto

durilka Puntos 384

Son símbolos normales como 'a' o 'ю' u otros. Simplemente entradas (invisibles) en una cadena.
\r mueve el cursor al principio de la línea.
\n baja una línea.

En cuanto a tu reemplazo, no has especificado qué lenguaje estás usando, así que aquí tienes el esquema:

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

0voto

Matten Puntos 9394

Un salto de carro (\r) hace que el cursor salte a la primera columna (inicio de la línea) mientras que el salto de línea (\n) salta a la siguiente línea y también puede al principio de esa línea. Entonces, para asegurarse de estar en la primera posición dentro de la siguiente línea se utilizan ambos.

Iteramos.com

Iteramos es una comunidad de desarrolladores que busca expandir el conocimiento de la programación mas allá del inglés.
Tenemos una gran cantidad de contenido, y también puedes hacer tus propias preguntas o resolver las de los demás.

Powered by:

X