Странное поведение String.split ("\ n") - PullRequest
7 голосов
/ 27 декабря 2010

У меня есть текстовый файл .txt, содержащий несколько строк. Я загружаю содержимое, используя объект RequestBuilder, и разделяю responseText с words = String.split ("\ n");но мне интересно, почему результат содержит часть "\ n". Например, мой текст:

abc
def
ghi

результат:

words[0] = "abc\n"
words[1] = "def\n"
words[2] = "ghi\n"

Любая помощь высоко ценится,Заранее спасибо.

Ответы [ 5 ]

18 голосов
/ 27 декабря 2010

Попробуйте использовать string.split("\\n+"). Или еще лучше - split("[\\r\\n]+")

10 голосов
/ 27 декабря 2010

Возврат каретки Windows ("\r\n") не должен вносить видимых изменений в ваши результаты, а также вам не нужно экранировать регулярное выражение, которое вы передаете String.split().

Вот доказательство того и другого, используя str.split("\n"): http://ideone.com/4PnZi

Если у вас есть возврат каретки Windows, вам следует (хотя и не обязательно) использовать str.split("\r\n"): http://ideone.com/XcF3C

5 голосов
/ 19 сентября 2017

Вы также можете рассмотреть String[] lines = text.split("\\\\n");

2 голосов
/ 27 декабря 2010

Если split использует регулярное выражение, вы должны использовать "\\ n" вместо "\ n"

0 голосов
/ 01 ноября 2018

Попробуйте использовать string.split("\\\\n") .У меня это работает.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...