рубин.split ('n') не разбивается на новую строку
почему эта строка не разбивается на каждую "n"? (Руби)
"ADVERTISING [7310]nttIRS NUMBER:tttt061340408nttSTATE OF INCORPORATION:tttDEnttFISCAL YEAR END:ttt0331nntFILING VALUES:nttFORM TYPE:tt10-QnttSEC ACT:tt1934 Actnt".split('n')
5 ответов:
вам нужно
.split("\n")
. Строковая интерполяция необходима для правильной интерпретации новой строки, и двойные кавычки-один из способов сделать это.
в рубиновых одинарных кавычках вокруг строки означает, что escape-символы не интерпретируются. В отличие от C, где одинарные кавычки обозначают один символ. В данном случае
'\n'
фактически эквивалентно"\n"
.так что если вы хотите разделить на
\n
вам нужно изменить код, чтобы использовать двойные кавычки.
.split("\n")
Рубин имеет методы
String#each_line
иString#lines
возвращает перечислимый: http://www.ruby-doc.org/core-1.9.3/String.html#method-i-each_line
возвращает массив: http://www.ruby-doc.org/core-2.1.2/String.html#method-i-lines
Я не тестировал его против вашего сценария, но я уверен, что он будет работать лучше, чем вручную выбирать символы новой строки.