ruby - 从 Ruby 中的字符串中删除“\r”或回车符
问题描述
我正在使用 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”。我怎样才能删除它?
解决方案
我没有改变变量,我只是返回一个新变量。要更改我需要使用的变量:
stock.chomp!
推荐阅读
- android - recyclerview 不使用 kotlin 在片段中显示 sqlite 产品数据?
- mysql - 这两张表需要什么样的关系?
- c# - 根据 C# 中相邻列的输入值更新数据库中的列(剃须刀页面)
- mysql - 子查询中存在的情况
- c - 如何将 char* 地址发送到函数,以便以十六进制打印
- corda - Corda 4 - 如何将新节点添加到在本地环境中以开发模式运行的现有 Corda 网络?
- javascript - Drupal 未定义 - jQuery (Drupal 8)
- php - 如何将 User::create 方法转换为 json?
- c# - 如何将 IExcelDataReader 值转换为字符串数据类型
- java - JLabel,如何设置坐标