#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 domanda è perché \w
ignorare i caratteri cirillici?Come specificare Regexp per caratteri cirillici unicode in Ruby 1.9
Ho installato l'ultimo pacchetto di rubini da http://rubyinstaller.org/. Qui è la mia uscita di ruby -v
ruby 1.9.1p378 (2010-01-10 revision 26273) [i386-mingw32]
Per quanto ne so 1,9 oniguruma libreria di espressione regolare ha il pieno supporto per i caratteri Unicode.
su Linux (ruby 1.9) gsub rimuove tutti i caratteri - irb (principale): 006: 0> str2.gsub (/ \ w/u, '') => "" – andrykonchin
@aaz: non dovrebbe (vedere la mia risposta); probabilmente hai una vecchia versione? –
Vorrei rinominare questa domanda come "Come specificare Regexp per caratteri unicode in Ruby 1.9", poiché questo non è correlato a win32 né a (solo) cirillico. –