#coding: utf-8
str2 = "asdfМикимаус"
p str2.encoding #<Encoding:UTF-8>
p str2.scan /\p{Cyrillic}/ #found all cyrillic characters
str2.gsub!(/\w/u,'') #removes only latin characters
puts str2
问题是为什么
\w
会忽略西里尔字母?我已经从http://rubyinstaller.org/安装了最新的Ruby包。这是我的
ruby -v
输出。ruby 1.9.1p378 (2010-01-10 revision 26273) [i386-mingw32]
据我所知,1.9版的oniguruma正则表达式库已经完全支持Unicode字符。