Как вы используете символы Юникода в регулярном выражении в Ruby? - PullRequest
3 голосов
/ 05 марта 2012

Я пытаюсь написать строку кода, которая займет строку японского текста и удалит определенный набор символов. Однако у меня возникли проблемы с использованием символов Юникода внутри регулярного выражения.

Я сейчас использую text.gsub(/《.*?》/u, ''), но получаю ошибку

'gsub': invalid byte sequence in Windows-31J (Argument error)

Может кто-нибудь сказать мне, что я делаю неправильно?

Пример текста: 100 の 仕 草 《し さ さ あ あ り 無 無 造作 む 100 100 100

Ожидаемый результат: 101 の 仕 草 が あ ま り に 造作 造作 た た 101 101

Спасибо

edit: # encoding: utf-8 присутствует вверху скрипта.

1 Ответ

2 голосов
/ 05 марта 2012

Попробуйте это:

text.encode('utf-8', 'utf-8').gsub(/《.*?》/u, '')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...