Hi, If you have cases like these: x1<- c("a1b11","a10b2","a2b2","a140b31") lapply(list(c(1,2),c(3,4)),function(i) substr(x1,i[1],i[2])) #it will not work #[[1]] #[1] "a1" "a1" "a2" "a1"
#[[2]] #[1] "b1" "0b" "b2" "40" let1<-unique(unlist(strsplit(gsub("\\d+","",x1),""))) split(unlist(strsplit(gsub("(\\w\\d+)(\\w\\d+)","\\1 \\2",x1)," ")),let1) #$a #[1] "a1" "a10" "a2" "a140" #$b #[1] "b11" "b2" "b2" "b31" A.K. ----- Original Message ----- From: arun <smartpink...@yahoo.com> To: Johannes Radinger <johannesradin...@gmail.com> Cc: Sent: Wednesday, March 13, 2013 8:32 AM Subject: Re: [R] string split at xth position Also, You could try: lapply(list(c(1,2),c(3,4)),function(i) substr(x,i[1],i[2])) #[[1]] #[1] "a1" "a2" "a1" #[[2]] #[1] "b1" "b2" "b2" A.K. ----- Original Message ----- From: Johannes Radinger <johannesradin...@gmail.com> To: r-help@r-project.org Cc: Sent: Wednesday, March 13, 2013 4:37 AM Subject: [R] string split at xth position Hi, I have a vector of strings like: c("a1b1","a2b2","a1b2") which I want to spilt into two parts like: c("a1","a2","a2") and c("b1","b2,"b2"). So there is always a first part with a+number and a second part with b+number. Unfortunately there is no separator I could use to directly split the vectors.. Any idea how to handle such cases? /Johannes ______________________________________________ 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. ______________________________________________ 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.