I have a string str = "$ 9.0 / hr"
or str = "$9.0/hr"
. I only want the integer value from this in this case 9.0
Language is Ruby 1.9.2
I'd use:
number = str[ /\d*(?:\.\d+)?/ ]
Or, if a leading 0 is required for values less than 1.0,
number = str[ /\d+(?:\.\d+)?/ ]
If you might have other numbers in the string, and only want the (first) one that has a dollar sign before it:
number = str[ /\$\s*(\d+(?:\.\d+)?)/, 1 ]
If it's guaranteed that there will (must) be a decimal place and digit(s) thereafter:
number = str[ /\$\s*(\d+\.\d+)/, 1 ]
Hopefully you can mix and match some of these solutions to get what you need.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With