Hi,
If you have .edu, .gov etc.
dat <- structure(list(Emails = c("mal...@gmail.com", "mah...@gmail.com", 
"ravi_...@yahoo.com", "lavk....@ufl.edu")), .Names = "Emails", class = 
"data.frame", row.names = c(NA, 
-4L))
res <- 
setNames(cbind(dat,do.call(rbind,strsplit(gsub("\\.[[:alnum:]]+$","",gsub("^([[:alpha:]]+)(\\d+.*)","\\1_\\2",dat$Emails)),"[_@.]"))),c("Emails","f.name","l.name","domain"))
 res[sapply(res,is.factor)] <- lapply(res[sapply(res,is.factor)],as.character)
A.K.




On Thursday, February 6, 2014 12:46 AM, arun <smartpink...@yahoo.com> wrote:
Hi,
May be this helps:

dat <- read.table(text="Emails
mal...@gmail.com
mah...@gmail.com
ravi_...@yahoo.com
lavk....@rediff.com",sep="",header=TRUE,stringsAsFactors=FALSE)


 
setNames(cbind(dat,do.call(rbind,strsplit(gsub(".com","",gsub("^([[:alpha:]]+)(\\d+.*)","\\1_\\2",dat$Emails)),"[_@.]"))),c("Emails","f.name","l.name","domain"))
#               Emails f.name l.name domain
#1    mal...@gmail.com    Mal    123  gmail
#2    mah...@gmail.com   Mahi      r  gmail
#3  ravi_...@yahoo.com   Ravi    123  yahoo
#4 lavk....@rediff.com   Lavk    lll rediff


A.K.


Hi,

Emails

mal...@gmail.com

mah...@gmail.com

ravi_...@yahoo.com

lavk....@rediff.com

I need split firstname,lastname,domail(only gmail,not gmail.com),also 123 in
last name,so please give me help

Output is 

Emails                                     f.name   l.name    domain

mal...@gmail.com         mal           123           gmail

mah...@gmail.com           mahi        r                gmail

ravi_...@yahoo.com     ravi       123            gmail

lavk....@rediff.com

Please give me solution
______________________________________________
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.

Reply via email to