字符串中的\r\n
,\r
和\n
有什么区别?每种方式如何影响字符串?
我需要用\n
替换\r\n
和\r
的出现,但我不知道它们在字符串中有什么不同...
我知道\r
就像按回车键,而\n
是用于新行。
字符串中的\r\n
,\r
和\n
有什么区别?每种方式如何影响字符串?
我需要用\n
替换\r\n
和\r
的出现,但我不知道它们在字符串中有什么不同...
我知道\r
就像按回车键,而\n
是用于新行。
\r
= 回车符 (Carriage Return) → 在Mac OS X之前被用作换行符\n
= 换行符 (Line Feed) → 在Unix/Mac OS X中被用作换行符\r\n
= 回车符 + 换行符 → 在Windows中被用作换行符\r
用于 Mac OS 9 及以下版本(在称为“System”之前的时代也是如此)。Mac OS X 大多使用 \n
(并且是 Unix)。 - Bruno这三个符号都代表着一行的结束。但是...
\r
(回车符) → 将光标移动到下一行开始前,不换行。\n
(换行符) → 将光标移到下一行开头,不返回本行开头 — 在*nix环境中,\n
移到行开头。\r\n
(行结束符) → 由\r
和\n
组成它们是普通符号,例如'a'或'ю'或其他任何符号。只是字符串中的(不可见)条目。 \r 将光标移动到行首。 \n 向下移动一行。
至于您的替换,由于您没有指定使用的语言,因此这里提供一个草图:
someString.replaceAll("\r\n", "\n").replaceAll("\r", "\n")
回车符 (\r
) 会使光标跳到第一列(行的开始),而换行符 (\n
) 则跳到下一行 并且可能还会 跳到那一行的开头。因此为了确保在下一行的第一个位置,可以同时使用两者。