从Ruby中的字符串中删除“ \ r”或回车

时间:2019-02-06 22:33:00

标签: ruby

我正在使用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 :(得分:0)

我没有更改变量,只是返回了一个新变量。要更改我需要使用的变量:

stock.chomp!