#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
La cuestión es por qué \w
ignoran los caracteres cirílicos?Cómo especificar Regexp de caracteres Unicode cirílico en Ruby 1.9
He instalado el último paquete de ruby de http://rubyinstaller.org/. Aquí está mi salida del ruby -v
ruby 1.9.1p378 (2010-01-10 revision 26273) [i386-mingw32]
Por lo que yo sé 1,9 oniguruma biblioteca de expresiones regulares tiene soporte completo para caracteres Unicode.
en Linux (ruby 1.9) gsub eliminar todos los caracteres - irb (main): 006: 0> str2.gsub (/ \ w/u, '') => " – andrykonchin
@aaz: no debería (ver mi respuesta); ¿Probablemente tienes una versión anterior? –
Cambiaría el nombre de esta pregunta a "Cómo especificar Regexp para caracteres Unicode en Ruby 1.9", ya que esto no está relacionado con win32 ni con (solo) cirílico. –