Já tentou fazer expressões regulares para dar match em letras acentuadas?
Desagradável...
É comum chegar em algo do tipo:
/[\wáéíóúâêôç...]+/
Mas não se desespere, pequeno gafanhoto. Existe um meio MUITO mais fácil! \o/
/[[:word:]]+/
Não é tão elegante quanto um simples "\w" (que não pega caracteres acentuados), mas é muito mais curto ^_^
Testa aí no IRB, e depois procura por POSIX bracket expressions na documentação do Regex do Ruby, tem mais coisas úteis lá (gosto muito do [[:upper:]]).
Dá para usar os "characters properties" (http://ruby-doc.org/core-2.1.5/Regexp.html#class-Regexp-label-Character+Properties) também, dá para fazer uns trecos legais com eles:
ResponderExcluir"eustáquio" =~ /\A\p{Latin}+\z/
=> 0
Uia! Bem bacana!!! O_o
ExcluirRecentemente (tipo, ontem...), usei o [[:punct:]], equivalente ao \p{Punct}.
Mas tem uns ali que vou acabar testando só para entender: \p{Cs} "Surrogate"??? \p{Mark}? :D
Tem coisa que é macumba, cuidado. :-)
ExcluirAcabei de aprender outra macumba:
ResponderExcluir"Eustáquio" =~ /\A\w+\z/ => nil
"Eustáquio" =~ /\A(?u)\w+\z/ => 0
O "uzinho" é de Unicode. :-)
Só tenho um comentário:
Excluir"Affff, chuta!!"