2011-10-12 39 views
0

我正在使用應用程序(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 
+2

最終結果應該是一個包含8行的新字符串,就像在你的問題中一樣,或者是對局部變量的一些賦值? –

回答

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

所以,基本上我們去掉一切,除了數字和 - 分隔兩個值和符號'然後用這個分隔符將字符串分成兩部分。