从红宝石中的字符串中解析印度货币

Moh*_*ain 2 ruby string currency ruby-on-rails ruby-on-rails-3

我想解析最后一个印度货币,即字符串中的Rs.

例如:

  1. 这个项目的价格是卢比.100 - > 100
  2. 这个项目的价格是卢比.100到卢比.120 - > 120
  3. 这个项目的价格是卢比.100.2卢比.125.4 - > 125.4
  4. 这个项目的价格是卢比.100到卢比.invalid_price - > 100
  5. 这个项目的价格是卢比.100到125 - > 100,而不是125导致125具有Rs.在它面前.

卢比.或者Rs都没问题.我希望用Rs前面加上数字.或卢比

我该如何解析这个字符串.

joe*_*son 5

目标是最恰当的:

  • 文字"Rs"
  • 可选的缩写句"".
  • 空间
  • 数字和可选的小数点和更多数字

解:

s = "Price for this item is Rs. 100.2 to 125.4"
s.scan(/Rs.? (\d+\.\d+|\d+)/).last
#=> 102.2

s = "Price for this item is Rs. 100.2 to Rs. 125.4"
s.scan(/Rs.? (\d+\.\d+|\d+)/).last
#=> 125.4
Run Code Online (Sandbox Code Playgroud)