You could remove all non-digits from the strings with > gsub("[^[:digit:]]+", "", x) [1] "0122" "" "" "89963" "1" "8" and then count the number of characters remaining with nchar > x[nchar(gsub("[^[:digit:]]+", "", x)) <= 1] [1] "RTGFFFF" "GF TYHH" "KFTR1" "RT 8"
Or you could do it with grep and a fancier regular expression > grep(value=TRUE, "^[^[:digit:]]*([[:digit:]][^[:digit:]]*){0,1}$", x) [1] "RTGFFFF" "GF TYHH" "KFTR1" "RT 8" Bill Dunlap TIBCO Software wdunlap tibco.com On Tue, Jun 21, 2016 at 2:55 PM, Marine Regis <marine.re...@hotmail.fr> wrote: > > Hello, > > > > I have a vector x of character strings: > > > > x <- c("LM0122","RTGFFFF", "GF TYHH", "HJN 89963", "KFTR1","RT 8") > > > > >From this vector, how can I extract the following character strings > (i.e., which contain 0 or 1 numeric value) > > > > [1] "RTGFFFF" "GF TYHH" "KFTR1" "RT 8" > > > > Thank you very much for your help. > > Have a nice day > > Marine > > > [[alternative HTML version deleted]] > > ______________________________________________ > 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. > [[alternative HTML version deleted]] ______________________________________________ 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.