On Tue, Apr 24, 2012 at 10:52 AM, arunkumar1111 <akpbond...@gmail.com> wrote: > I have a long string. i want to sepearate a 10 digit phone no from it. > > eg > > > "my no is 9876543210 is personal no and my official no is 123-456-8907. you > can use any of these" > > i want to seperate the 9876543210 and 123-456-8907 from this. therev may be > many phone nos in the string. how to do it
Try this: library(gsubfn) pat <- "\\b\\d{3}-?\\d{3}-?\\d{4}\\b" strapply(x, pat, c, perl = TRUE, simplify = c) The last line gives this: [1] "9876543210" "123-456-8907" If its likely that any string of digits and minus signs which has 10 to 12 characters is a phone number then you could use this less accurate but shorter pattern: pat <- "[-0-9]{10,12}" -- Statistics & Software Consulting GKX Group, GKX Associates Inc. tel: 1-877-GKX-GROUP email: ggrothendieck at gmail.com ______________________________________________ R-help@r-project.org 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.