Строка gsub для всех пробелов в Ruby 1.8 - PullRequest
3 голосов
/ 16 ноября 2011

У меня есть строка с пробелами (один простой пробел и один идеографический пробел):

"qwe rty uiop".gsub(/[\s]+/,'')    #=> "qwe rtyuiop"

Как я могу добавить все пробелы (например, 3000, 2060, 205f) в мой шаблон?

В Ruby 1.9 я только что добавил \u3000 и другие коды, но как это сделать в 1.8?

1 Ответ

2 голосов
/ 16 ноября 2011

Я думаю, что нашел ответ. В ActiveSupport :: Multibyte :: Chars используется константа UNOCODE_WHITESPACE. Решение:

pattern = ActiveSupport::Multibyte::Chars::UNICODE_WHITESPACE.collect do |c|
  c.pack "U*"
end.join '|'
puts "qwe rty uiop".mb_chars.gsub(/#{pattern}/,'')
#=> qwertyuiop
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...