Разбор ненормальных персонажей - PullRequest
2 голосов
/ 15 мая 2011

Мне нужно работать с текстом, который был ранее скопирован / вставлен из документа Excel в файл .txt.Есть несколько символов, которые, как я полагаю, означают что-то превосходное, но они отображаются как нераспознанный символ (то есть символ «?» В gedit или один из этих прямоугольников в некоторых других текстовых редакторах).Я хотел как-то разобрать их, но не уверен, как это сделать.Я знаю, что регулярные выражения могут быть полезны, но на самом деле не существует шаблона, который соответствует неузнаваемым символам.Как мне заняться этим?

Ответы [ 3 ]

3 голосов
/ 15 мая 2011

вы можете работать с http://spreadsheet.rubyforge.org/, возможно, для чтения / анализа данных

2 голосов
/ 15 мая 2011

Я полагаю, вы получаете эти символы, потому что текстовый файл содержит недопустимые символы Юникода, это означает, что ваши '?' И треугольники могут фактически быть нераспознанными многобайтовыми последовательностями.

Если вы хотите правильно обрабатывать содержимое электронной таблицы, я рекомендую сначала экспортировать данные в CSV с помощью (Open | Libre) Office и выбрать UTF-8 в качестве кодировки файла.

https://en.wikipedia.org/wiki/Comma-separated_values

1 голос
/ 15 мая 2011

Если вы не беспокоитесь о многобайтовых последовательностях, я считаю это регулярное выражение удобным:

line.gsub( /[^0-9a-zA-Z\-_]/, '*' )
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...