Ruby 1.8中所有空格的gsub字符串

时间:2011-11-16 06:24:26

标签: ruby-on-rails ruby utf-8

我有一个带空格的字符串(一个简单的空格和一个表意空间):

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

如何在我的模式中添加所有空格代码(例如3000,2060,205f)?

在Ruby 1.9中,我刚刚添加了\u3000和其他代码,但是1.8中的代码是什么?

1 个答案:

答案 0 :(得分:2)

我想我找到了答案。在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