[R] Finding multiple characters in the same string

Gabor Grothendieck ggrothendieck at gmail.com
Thu Aug 2 13:07:37 CEST 2007


Here are a few different approaches:


s <- "this1is2a3test44of extraction"

tmp <- gsub("[^[:digit:]]", " ", s)
scan(textConnection(tmp), what = 0)

tmp <- gsub("[^[:digit:]]", " ", s)
spl <- strsplit(tmp, " ")[[1]]
as.numeric(spl[spl != ""])

library(gsubfn)
strapply(s, "[[:digit:]]+", as.numeric)[[1]]



On 8/2/07, Tom.O <tom.olsson at dnbnor.com> wrote:
>
> Hi
> I have this problem where I need to find if there is any numbers in a
> string, this is no problem if theres only one number per string. I would
> then simply use the regexpr() funtion togheter with the substring function
> to exclude the number. But regexpr only picks one number per string either
> from the beginning or the end, but not multiple. Can this be done? And how
>
> for example
> My string <- "this1is2a3test"
>
> The result I want is an vector of c(1,2,3)
>
> //Tom
> --
> View this message in context: http://www.nabble.com/Finding-multiple-characters-in-the-same-string-tf4205206.html#a11961686
> Sent from the R help mailing list archive at Nabble.com.
>
> ______________________________________________
> R-help at stat.math.ethz.ch mailing list
> 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