0

Im с использованием рубинов и рельсов для автоматического создания имени файла из названия продукта и варианта варианта продукта. Используя .gsub, имя файла будет строчным и будет иметь специальные символы (пробелы, ', -). Ive получил большую часть работы, но я не могу заставить его удалить двойные кавычки.Удаление двойных котировок с помощью Ruby и Rails и .gsub

Это работает для одинарных кавычек:

"'" 

Но это не работает для двойных кавычек:

'"' 

Вот мой код:

filepath_name = product.name+"_"+variant_type.gsub(/ /,'').gsub("'", "").gsub("-", "").gsub('"', '').downcase+".mpg" 
+0

Об этом было задано ранее. http://stackoverflow.com/questions/4720401/remove-double-quotes-from-string - Рабочий ответ :) – trh

+0

Рельсы имеют встроенный метод 'parameterize' см. http://apidock.com/rails/v3. 2.13/String/parameterize - не уверен, что идеально подходит для вашего дела, так как он использует '-', во всяком случае, может быть, что-то вроде этого? 'filepath_name =" # {product.name} _ # {variant_type.parameterize} ". gsub (" - "," ")' - иначе я бы использовал пример @Jason Truluck – house9

ответ

3

Вы могли бы просто использовать regexp для удаления чего-либо, кроме символов ascii, таких как:

variant_type.gsub!(/[^0-9A-Za-z.\-]/, '') 

и внесите изменения в соответствии с вашими потребностями. Вы можете использовать rubular для справки.

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