[R] Extracting numeric part from a string

Bert Gunter bgunter.4567 at gmail.com
Thu Aug 3 03:00:36 CEST 2017


... and Marc's solution is **much** better than mine.

-- Bert
Bert Gunter

"The trouble with having an open mind is that people keep coming along
and sticking things into it."
-- Opus (aka Berkeley Breathed in his "Bloom County" comic strip )


On Wed, Aug 2, 2017 at 5:59 PM, Bert Gunter <bgunter.4567 at gmail.com> wrote:
> ... Or if you just want to stick with basic regex's without extra packages:
>
>> x <- "\"cm_ffm\":\"563.77\""
>> sub("[^[:digit:]]*([[:digit:]]*.?[[:digit:]]*).*","\\1",x)
>
> [1] "563.77"
>
> Cheers,
> Bert
>
>
>
> On Wed, Aug 2, 2017 at 5:16 PM, Ismail SEZEN <sezenismail at gmail.com> wrote:
>>
>>> On 3 Aug 2017, at 02:59, Christofer Bogaso <bogaso.christofer at gmail.com> wrote:
>>>
>>> Hi again,
>>>
>>> I am struggling to extract the number part from below string :
>>>
>>> "\"cm_ffm\":\"563.77\""
>>>
>>> Basically, I need to extract 563.77 from above. The underlying number
>>> can be a whole number, and there could be comma separator as well.
>>>
>>> So far I tried below :
>>>
>>>> library(stringr)
>>>
>>>> str_extract("\"cm_ffm\":\"563.77\"", "[[:digit:]]+")
>>>
>>> [1] "563"
>>>
>>>>
>>>
>>> However, above code is only extracting the integer part.
>>>
>>> Could you please help how to achieve that. Thanks,
>>
>>
>> library(readr)
>> parse_number('"cm_ffm":"563.77”')
>>
>> ______________________________________________
>> R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see
>> https://stat.ethz.ch/mailman/listinfo/r-help
>> PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
>> and provide commented, minimal, self-contained, reproducible code.



More information about the R-help mailing list