2009-12-10 7 views
1

Je analysais un fichier et certaines lignes du fichier se terminaient par "\". Je voulais utiliser gsub pour le trouver et le remplacer. J'ai essayé '\' et/\/et aucun ne correspondait correctement à "\". J'ai fini par contourner le problème en utilisant une combinaison de hachage et de bande, mais il m'a laissé penser comment pourrais-je faire cela si jamais j'ai besoin de nouveau?Echapper dans les expressions régulières dans Ruby

+0

Vous pouvez également pour vérifier http://stackoverflow.com/questions/1873652/how-to-detect-an-invalid-c-escaped-string-using-a-regular-expression/1873721#1873721 – Amarghosh

Répondre

3

Vous devez également échapper au panneau d'échappement. Donc, cela devrait fonctionner:

/\\/ 
1

Passer une chaîne à gsub qui sera ensuite compilé à un regex:

"abc\def".gsub("\\", "") 
=> "abcdef" 

Ou tout simplement fournir directement l'expression rationnelle:

"abc\def".gsub(/\\/, "") 
=> "abcdef" 
Questions connexes