Удаление «\ r» или возврата каретки из строки в Ruby - PullRequest
0 голосов
/ 07 февраля 2019

Я использую CloudMailin для получения электронных писем, а затем отправляю простой текст в мое приложение Ruby on Rails.Чтобы получить доступ к основной части письма в виде простого текста, я использую params [: plain].

Если бы я просто напечатал соответствующую часть простого текста, он бы выглядел так:

Style 130690 113
Price $335.00
Stock # 2882524

Я использовал регулярное выражение для захвата имен определенных фрагментов данных:

style, price, stock = params[:plain].scan(/^(?:Style |Price \$|Stock \# )(.+)/).flatten

Это работает, однако каждая переменная имеет "\ r" или возврат каретки в конце.Итак, если на складе 80201943, он будет отображаться в моей базе данных как "80201943 \ r".

Затем я пытаюсь обновить свою базу данных следующим кодом:

shoe = Shoe.where(:size => "7").first
shoe.update_column(:stockId, stock)

Затем, когда я проверяюв моей базе данных: stockId в конце стоит "\ r".

Я пытался сделать

stock.chomp("\r")

stock.chomp

stock.strip

stock.gsub("\r", ""),

Ни один из них не удаляет "\ r" из строки.Как я могу удалить это?

1 Ответ

0 голосов
/ 07 февраля 2019

Я не изменял переменную, я просто возвращал новую.Чтобы изменить переменную мне нужно было использовать:

stock.chomp!
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...