Символьные индексы строки, содержащей символы Юникода - PullRequest
0 голосов
/ 19 августа 2010

Я связываю @mentions в сообщениях о состоянии, возвращаемых API Twitter.

В одном из твитов есть символ Юникода. Синтаксический анализ JSON (с помощью JSON.parse или ActiveSupport :: JSON.decode в json-геме) возвращает строку, которая отображается правильно, но индексы для начала и конца @mention, указанные объектом, не совпадают разобранная строка.

Как я могу преобразовать строку Unicode в Ruby так, чтобы индексы символа вели себя ожидаемым образом (например, они обрабатывают символ Unicode как один символ)?

Текст твита:

Спасибо! RT @Apigee Есть API? Попробуйте добавить метод моделирования ошибок - отличная идея от @andrewacove: http://bit.ly/aupTLp ^ MG

1 Ответ

1 голос
/ 19 августа 2010

Если вы используете ruby ​​на рельсах, вы можете использовать string.mb_chars.length. Смотри: http://api.rubyonrails.org/classes/ActiveSupport/CoreExtensions/String/Multibyte.html

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