我需要在文件中用小时替换所有分钟。
假设一个原始文件,如下所示: 120米 90米
应改为: 2H 1.5小时
答案 0 :(得分:6)
如果您可以使用它来打印“2.0”而不是“2”,您可以这样做:
"120m 90m".gsub(/(\d+)m/) { "#{$1.to_f / 60.0}h"}
#=> "2.0h 1.5h"
如果您需要在没有“.0”的情况下打印它,您需要检查该数字是否可被60整除,如果是,则返回$1.to_i / 60
而不是$1.to_f / 60.0
。
或者你可以在浮动上调用to_s
,如果字符串以“.0”结尾,则删除.0
答案 1 :(得分:1)
除了sepp2k的回答。
"120m 90m".gsub(/(\d+)m/) { "#{($1.to_f / 60.0).to_s.gsub(/\.0$/, '')}h"}
#=> "2h 1.5h"