Как мне прочитать файл со специальными символами в ruby? - PullRequest
0 голосов
/ 03 декабря 2011

В настоящее время у меня есть файл, в котором есть специальный символ ^ M.

Bugs,^MMember Name,Entity Number^MPilgrim,1 404 765 909^MLovene,1 406 373 405^MLarry,1 404 867 143^MTom,^MChristine,1 404 803 973^MJacqueline,1 406 053 064

когда я пытаюсь прочитать этот файл, выводится только последняя строка: Жаклин, 1 406 053 064. У меня есть следующее, и оно не работает?

file.each {|line| puts line }

1 Ответ

3 голосов
/ 03 декабря 2011

^M, о котором вы говорите, это символ возврата каретки со значением 0x0d. Вы можете избавиться от него, используя

File.read("filename").gsub "\r", ''

или разделить содержимое файла с ним

File.read("filename").split "\r"

Как указывает LBg, некоторые платформы, например Windows, требуется открыть файл в двоичном режиме для чтения символов CR.

File.read("filename", "rb").split "\r"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...