> On Aug 2, 2017, at 7:42 PM, Marc Schwartz <marc_schwa...@me.com> wrote: > > >> On Aug 2, 2017, at 6:59 PM, Christofer Bogaso <bogaso.christo...@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, > > > Using ?gsub: > > X <- "\"cm_ffm\":\"563.77\"" > > > gsub("[^0-9.]", "", X) > [1] "563.77" > > or > > > gsub("[^[:digit:].]", "", X) > [1] "563.77" > > > Basically, remove any characters that are not digits or the decimal point, > presuming your pattern is consistent across your data.
Sorry, forgot that you indicated that there could be a comma: X <- "\"cm_ffm\":\"1,563.77\"" > gsub("[^0-9.,]", "", X) [1] "1,563.77" > gsub("[^[:digit:].,]", "", X) [1] "1,563.77" Regards, Marc ______________________________________________ R-help@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.