очистить вход для рубина - PullRequest
1 голос
/ 28 февраля 2012

Привет. Я бы хотел очистить входные данные от Ruby, но одновременно не допустить, чтобы они испортили мои строки, содержащие иностранные символы.

string1 = string.downcase.gsub (/<(.|\n)*?>/, '') .gsub ("", "") .gsub (",", ""). Gsub (" '"," "). gsub (" _ "," ") .gsub ("; "," ") .gsub (" - "," ") .gsub (": "," "). gsub (" . "," ") .gsub ("? "," ") .gsub ("! "," ") .gsub (" ^ "," "). gsub ("% "," ") .gsub (" $», "")

Строка должна быть очищена от пробелов, апострофов и всего, кроме букв (не уверен насчет чисел), а также для очистки. Я не уверен, что забыл что-то, и, вероятно, что-то излишне.

Мой код работает нормально, пока строка не содержит безопасных неанглийских символов, таких как буквы с акцентом, с которыми мне хотелось бы иметь дело, но они нарушают мой код. Я предполагаю, что они конвертируются в% 25 и все такое, а потом они ломаются. На самом деле это ломается, даже если я вообще не дезинфицирую. Как я могу сказать Ruby правильно обрабатывать неанглийские символы? Спасибо большое.

1 Ответ

2 голосов
/ 28 февраля 2012

вот так;

" ' ; te st".gsub(/\W+/, "") # "test"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...