Ruby 是否有一种优雅的正则表达式方式来替换字符串中所有出现的°C 到°F(同时转换单位)?例如:



应该导致类似:

最佳答案

# -*- encoding : utf-8 -*-
def c2f(c)
  c*9.0/5+32
end

def convert(string)
  string.gsub(/\d+\s?°C/){|s| "#{c2f(s[/\d+/].to_i)}°F"}
end

puts convert("Today it is 25°C and tomorrow 27 °C.")
# result is => Today it is 77.0°F and tomorrow 80.6°F.

关于Ruby:如何转换字符串中的温度单位?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10329329/

10-14 14:08