0

J'ai besoin de la méthode regex dans les rails pour les caractères spéciaux de la langue européenne comme par exemple. é, ä, ö, ü, ß. Merci de m'aider.Expression régulière pour les caractères spéciaux dans les rails

+0

Pouvez-vous s'il vous plaît être plus concret? Vous voulez faire correspondre toutes les chaînes contenant ces caractères? Ou juste les personnages? Quels caractères sont considérés comme «spéciaux»? Ceux qui ne sont pas en alphabet anglais? –

+1

Que sont les caractères spéciaux? Est-ce que '" - "' ou '"/"' est un caractère spécial? Sont '" Α "' et '" В "'? Que diriez-vous de "" $ "', '" ¢ "', '" £ "', ou '" € "'? Heck, est '" "' 'un personnage spécial? Définir * caractère spécial *. Voulez-vous dire quelque chose qui n'est pas inclus dans [le jeu de caractères standard] (http://en.wikipedia.org/wiki/DEC_Radix-50)? – tchrist

+0

@ alpha-mouse: Faites très attention à cette chose "alphabet anglais". Il n'y a pas de telle chose, tu sais. – tchrist

Répondre

2

Les expressions régulières fonctionneront très bien avec les caractères "spéciaux". Si vous voulez correspondre à un ensemble de caractères spéciaux, vous devrez indiquer à l'expression exactement ce que sont ces caractères. Votre définition de «spécial» pourrait ne pas correspondre à celle du prochain.

Par exemple, si vous vouliez voir si une chaîne contient l'un des caractères que vous avez énumérés ci-dessus, vous pouvez le faire:

irb(main):001:0> word = "resumé" 
=> "resum\303\251" 
irb(main):002:0> word =~ /[éäöüß]/ 
=> 5 
irb(main):003:0> word.gsub(/é/, 'e') 
=> "resume" 

J'espère que cela aide!

+0

J'ai essayé cela avant et Il a montré l'erreur "char multibyte invalide (US-ASCII)" ... ce n'est pas résolu. Aide moi gentiment avec ce regard. –

+0

J'ai trouvé le problème. Les caractères US-ASCII ont été modifiés en UTF-8. Maintenant, il travaille avec votre script. Merci beaucoup!!! –

Questions connexes