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.

Était-ce utile?

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
scroll top