2016-12-29 2 views
0

Ich habe diesegsub ermöglicht doppelte Zitate innerhalb gsub

self.description.gsub! 'iframe', 'iframe id="myid" ' 

Und es gibt das, wenn ich sparen:

iframe id=\"myid\" 

Aber ich will nicht die Schrägstriche \ vor jedem "

Wie mache ich das?

Wie kann ich 2 x "innen?

+0

In der Zeichenfolge sind keine umgekehrten Schrägstriche vorhanden. –

Antwort

2

Ich weiß nicht, ob Sie es in IRB laufen, aber manchmal muss man sehen drucken, wie die Zeichenfolge wie folgt aussieht:

[email protected]:~$ irb 
2.3.0 :001 > str = "frame" 
=> "frame" 
2.3.0 :002 > str.gsub('frame','iframe id="myid"') 
=> "iframe id=\"myid\"" 
2.3.0 :003 > puts str.gsub('frame','iframe id="myid"') 
iframe id="myid" 
=> nil 

Beachten Sie, dass der Rückgabewert von gsub doppelte Anführungszeichen entweicht aber Das liegt daran, dass die ganze Zeichenfolge in doppelte Anführungszeichen eingeschlossen ist, der Wert jedoch unterschiedlich ist.

+0

Außerdem ist 'p string' äquivalent zu' puts string.inspect', und inspect zeigt string mit '" \ "" ' –

+0

Danke! Stellt sich heraus, dass der Wysiwyg-Editor, den ich benutze (Froala), einen js-Desinfektor hat obwohl ich das oben getan habe, wirft immer noch vor allen Anführungszeichen. Schmerz in den Arsch. Aber Ihre Antwort ist immer noch richtig, danke. – sneglefar