71 votes

Échapper aux guillemets simples et doubles dans une chaîne de caractères en ruby ?

Comment échapper aux guillemets simples et doubles dans une chaîne de caractères ?

Je veux échapper aux guillemets simples et doubles ensemble. Je sais comment les passer séparément mais je ne sais pas comment passer les deux.

par exemple str = "ruby 'on rails" " = ruby 'on rails"

86voto

Rob Di Marco Points 18048

Je préfère ne pas me préoccuper de l'échappement et utiliser à la place %q qui se comporte comme une chaîne de caractères entre guillemets simples (pas d'interpolation ni d'échappement de caractères), ou %Q pour le comportement des chaînes de caractères entre guillemets doubles :

str = %q[ruby 'on rails" ] # like single-quoting
str2 = %Q[quoting with #{str}] # like double-quoting: will insert variable

Voir https://docs.ruby-lang.org/en/trunk/syntax/literals_rdoc.html#label-Strings et rechercher % strings .

33voto

gaurav.singharoy Points 414

Utiliser la barre oblique inverse pour échapper aux caractères

str = "ruby \'on rails\" "

25voto

Gabriel Augusto Points 563

En voici la liste complète :

enter image description here

En http://learnrubythehardway.org/book/ex10.html

19voto

Jonathan Points 1458

Vous pouvez utiliser des chaînes Q qui vous permettent d'utiliser le délimiteur de votre choix :

str = %Q|ruby 'on rails" " = ruby 'on rails|

7voto

gnibbler Points 103484
>> str = "ruby 'on rails\" \" = ruby 'on rails"
=> "ruby 'on rails" " = ruby 'on rails"

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X