从字符串中提取值的最佳方法(regexp?)

时间:2011-10-12 04:10:40

标签: ruby-on-rails regex

我正在使用一个应用程序(Ruby 1.9.2,Rails 3)和一个API,需要在给定某些参数值的情况下使用API​​接口。

解决这个问题的最佳方法是什么:

bedrooms: 3 - 7
bathrooms: 1 - 8
sqft: 1000 - 8000
price: $100000 - $800000

进入这个:

bedrooms_min = 3
bedrooms_max = 7
bathrooms_min = 1
bathrooms_max = 8
sqft_min = 1000
sqft_max = 8000
price_min = 100000
price_max = 800000

1 个答案:

答案 0 :(得分:1)

price_input = "$100000 - $800000"
price_min, price_max = price_input.gsub(/[^\d-]/, '').split('-', 2).map(&:to_i)
price_min # 100000
price_max # 800000

所以,基本上我们删除除数字和' - '之外的所有内容,它们分隔两个值,然后通过此分隔符将字符串拆分为两个。