【发布时间】:2019-01-09 05:10:50
【问题描述】:
我不明白为什么,但我的字符串空格不想删除。 它来自从 Google 表格解析的数组。 兴趣是将其转换为整数以便随后对其进行处理。
我的代码返回“2 217 500 €”。 然后我使用方法 .delete(" "+"€") 并返回 "2 217 500"。 如果我尝试将它从一个整数(使用 .to_i)转换它返回 2。 我也试过 .gsub 和 .split 方法也不管用。
有人知道为什么它不起作用,或者其他方法吗?
这是我的代码:
spreadsheet_id = '18YgC24_HRA6cddc71vynatoMwUQpToQHtGE_p1vc2Xk'
range = 'League_billing_total!A2:B'
response4 = service.get_spreadsheet_values(spreadsheet_id, range).to_json
puts response4
# {"majorDimension":"ROWS","range":"League_billing_total!A2:B1000","values":[["Total 2018","1 575 764 €"],["Budget","2 217 500 €"]]}
parse_response4 = JSON.parse(response4)
puts parse_response4
# {"majorDimension"=>"ROWS", "range"=>"League_billing_total!A2:B1000", "values"=>[["Total 2018", "1 575 764 €"], ["Budget", "2 217 500 €"]]}
flatte = parse_response4['values']
puts flatte # [["Total 2018", "1 575 764 €"], ["Budget", "2 217 500 €"]]
@starters_total = flatte.flatten!
puts @starters_total # ["Total 2018", "1 575 764 €", "Budget","2 217 500 €"]
puts @starters_total[3] # "2 217 500 €"
@budget_2018_new_deals = @starters_total[3].delete(" "+"€")
puts @budget_2018_new_deals # "2 217 500"
puts @budget_2018_new_deals.to_i # 2
【问题讨论】:
-
奇怪,如果我执行
"2 217 500 €".gsub("€","").gsub(" ","").to_i我得到了;2217500. -
你对
gsub做了什么尝试? -
还有
"2 217 500 €".scan(/\d+/).join。 -
Yes in irb test "2 217 500 €".gsub("€","").gsub(" ","").to_i 也适用于我,但它在实际情况下发布 2并且 .scan(/\d+/).join 有效!谢谢!
标签: ruby-on-rails ruby string integer removing-whitespace