2016-05-27 18 views
-5

Ich bin neu in ruby.I habe eine Zeichenfolge wiewie entfernen ‚‘ aus string

string = "You have successfully placed Service Request No. \#{@service_requests.id} for \#{@service_requests.category.name} . Our representative will be in touch with you soon for the same. Thank you." 

und ich mag entfernen „\“ aus ganzem String.

output_string = "You have successfully placed Service Request No. #{@service_requests.id} for #{@service_requests.category.name} . Our representative will be in touch with you soon for the same. Thank you." 

Wie man es möglich macht.

+3

Sie erhielten eine korrekte Antwort auf das Problem "_wie Backslashes von einem String_ entfernen", und Sie kommentiert mit "es funktioniert nicht" darunter. Das heißt, Sie haben das Problem falsch angegeben. Bitte beschreiben Sie ausführlich, was Sie haben, was Sie tun müssen, was Sie nachgeben und wo das Problem liegt. Downdown für eine Zwischenzeit. – mudasobwa

+0

Eigentlich möchte ich Schrägstriche von String entfernen. Im Folgenden funktionieren einige Vorschläge nicht für mich. Aber @ елёный Antwort funktioniert ordnungsgemäß, so dass ich – vicky

+0

updated '" \ # "' ist kein Backslash gefolgt von einem Pfundzeichen. Es ist vielmehr ein einzelnes Zeichen, ein escaped '" # "', das dasselbe ist wie ein nicht-deklariertes "#" ':' "\ #". Size # => 1; "\ #" == "#" # => true'. –

Antwort

3
>> string = "You have successfully placed Service Request No. \#{@service_requests.id} for \#{@service_requests.category.name} . Our representative will be in touch with you soon for 
the same. Thank you." 
>> puts(string) 
=> You have successfully placed Service Request No. #{@service_requests.id} for #{@service_requests.category.name} . Our representative will be in touch with you soon for the same. Thank you. 
>> puts(string.inspect) 
=> "You have successfully placed Service Request No. \#{@service_requests.id} for \#{@service_requests.category.name} . Our representative will be in touch with you soon for the same. Thank you." 

Stellen Sie sicher wissen, was der Unterschied zwischen String-Darstellung (puts string.inspect) und String-Inhalt (puts string) ist , und beachte die Backslashes als Artefakte der Repräsentation.

0

können Sie entfernen diese wie:

string.gsub(%r{\"}, '') 
+0

Es funktioniert nicht.Ausgang ist so wie es ist. "Sie haben erfolgreich die Serviceanforderungsnummer \ # {@ service_requests.id} für \ # {@ service_requests.category.name} eingegeben. Unser Vertreter wird sich bald mit Ihnen in Verbindung setzen. Danke." – vicky

+0

das funktioniert für mich – Sunny

+0

"\" wird nicht von der Ausgabe entfernt. – vicky

3

Try this:

string.gsub(/\\/, '') # or string.gsub!(/\\/, '') for inplace substitution 
+0

Dies ist ein Enumerator zurückgegeben, fehlt das zweite Argument. –

+0

Vielen Dank für das Zeigen. –

+0

DAS FUNKTIONIERT NICHT – vicky