J'essaie de trouver une expression rationnelle pour supprimer tous les caractères spéciaux sauf certains. Par exemple, j'ai une chaîne:Supprimer tous les caractères spéciaux sauf
str = "subscripción gustaría♥"
Je veux que la sortie soit "subscripción gustaría"
.
La façon dont j'ai essayé de faire est de faire correspondre tout ce qui n'est pas un caractère ascii (00 - 7F) et pas le caractère spécial que je veux et le remplacer par un blanc.
str.gsub(/(=?[^\x00-\x7F])(=?^\xC3\xB3)(=?^\xC3\xA1)/,'')
Cela ne fonctionne pas. Le dernier caractère spécial n'est pas supprimé.
Quelqu'un peut-il aider? (Ceci est rubis 1.8)
Mise à jour: J'essaie de rendre la question un peu plus claire. La chaîne est encodée en utf-8. Et j'essaie de mettre en liste blanche les caractères ascii plus ó et í et de tout mettre en liste noire.
Non, cela a supprimé tous les caractères spéciaux.Je veux seulement ♥ être enlevé et non ó et í – maheshmurthy