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,
> 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?')
> On Aug 2, 2017, at 6:59 PM, 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,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. Regards, Marc Schwartz [[alternative HTML version deleted]]
> On Aug 2, 2017, at 7:42 PM, Marc Schwartz <marc_schwartz at me.com> wrote: > > >> On Aug 2, 2017, at 6:59 PM, 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, > > > 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
... 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.