2016-05-27 4 views
-5

Я новичок в ruby.I есть строка, каккак удалить «» из строки

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." 

и я хочу, чтобы удалить «\» из всей строки.

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." 

Как это сделать.

+3

Вам был дан правильный ответ на проблему «как удалить обратную косую черту из строки», и вы прокомментировали это «не работает» под ней. Это означает, что вы неправильно заявили проблему. Пожалуйста, подробно опишите, что у вас есть, что вам нужно делать, что вы уступаете и в чем проблема. Сокращенно пока что. – mudasobwa

+0

На самом деле я хочу удалить обратные косые черты из строки. Ниже некоторые предложения не работают для меня. Но @ Зелёный ответ работает правильно, поэтому я поддерживал – vicky

+0

'' \ # "' не является обратным слэшем, за которым следует знак фунта. Скорее, это один символ, escape-символ «##», который является таким же, как unescaped '' # "': '" \ # ". Size # => 1; "\ #" == "#" # => true'. –

ответ

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." 

Убедитесь, что вы знаете, в чем разница между представлением строки (puts string.inspect) и содержимое строки (puts string) является , и обратите внимание на обратную косую черту как на артефакты представления.

0

Вы можете удалить это как:

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

Не работает. Выход такой же, как есть. «Вы успешно разместили запрос на обслуживание № \ # {@ service_requests.id} для \ # {@ service_requests.category.name}. Наш представитель скоро свяжется с вами за то же самое. Спасибо. – vicky

+0

это работает для меня – Sunny

+0

«\» не удаляется с выхода. – vicky

3

Попробуйте это:

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

Это возвращает Enumerator, вам не хватает второго аргумента. –

+0

Спасибо, что указали это. –

+0

ЭТО НЕ РАБОТАЕТ – vicky

Смежные вопросы