Comment écrire gsub avec des citations bouclées pour les chaînes de caractères UTF-8?
-
25-10-2019 - |
Question
Je suis en train d'écrire une méthode d'extension pour la classe String pour nettoyer les caractères non-ASCII. Les cordes que je suis le nettoyage sont UTF-8.
Lorsque vous utilisez des caractères non-ASCII dans un fichier, la console ne démarre pas, car il interprète les citations bouclées comme des citations régulières.
Comment échapper à la citation bouclés en gsub?
Comment écrire un gsub qui utilise le unicode pour les citations bouclées (U + 201C, par exemple).
Travailler dans Rails 3,07 et Ruby 1.9.2.
La solution
Vous pouvez utiliser les mêmes échappe \u
à regexes que vous utiliseriez dans des chaînes entre guillemets:
s.gsub(/[\u201c\u201d]/, '"')
Par exemple:
>> s = "\u201Cpancakes\u201d"
=> "“pancakes”"
>> puts s.gsub(/[\u201c\u201d]/, '"')
"pancakes"
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow