Hi,
May be this helps:
dat <- read.table(text="Emails
Mal123 at gmail.com
Mahi.r at gmail.com
Ravi_123 at yahoo.com
Lavk.lll at rediff.com",sep="",header=TRUE,stringsAsFactors=FALSE)
?setNames(cbind(dat,do.call(rbind,strsplit(gsub(".com","",gsub("^([[:alpha:]]+)(\\d+.*)","\\1_\\2",dat$Emails)),"[_ at .]"))),c("Emails","f.name","l.name","domain"))
#?????????????? Emails f.name l.name domain
#1??? Mal123 at gmail.com??? Mal??? 123? gmail
#2??? Mahi.r at gmail.com?? Mahi????? r? gmail
#3? Ravi_123 at yahoo.com?? Ravi??? 123? yahoo
#4 Lavk.lll at rediff.com?? Lavk??? lll rediff
A.K.
Hi,
Emails
Mal123 at gmail.com
Mahi.r at gmail.com
Ravi_123 at yahoo.com
Lavk.lll at 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
Mal123 at gmail.com? ? ? ? mal? ? ? ? ? 123? ? ? ? ? gmail
Mahi.r at gmail.com? ? ? ? ? mahi? ? ? ? r? ? ? ? ? ? ? ? gmail
Ravi_123 at yahoo.com? ? ravi? ? ? 123? ? ? ? ? ? gmail
Lavk.lll at rediff.com
Please give me solution
R help
2 messages · arun
Hi,
If you have .edu, .gov etc.
dat <- structure(list(Emails = c("Mal123 at gmail.com", "Mahi.r at gmail.com",
"Ravi_123 at yahoo.com", "Lavk.lll at 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)),"[_ at .]"))),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 <smartpink111 at yahoo.com> wrote:
Hi,
May be this helps:
dat <- read.table(text="Emails
Mal123 at gmail.com
Mahi.r at gmail.com
Ravi_123 at yahoo.com
Lavk.lll at rediff.com",sep="",header=TRUE,stringsAsFactors=FALSE)
?setNames(cbind(dat,do.call(rbind,strsplit(gsub(".com","",gsub("^([[:alpha:]]+)(\\d+.*)","\\1_\\2",dat$Emails)),"[_ at .]"))),c("Emails","f.name","l.name","domain"))
#?????????????? Emails f.name l.name domain
#1??? Mal123 at gmail.com??? Mal??? 123? gmail
#2??? Mahi.r at gmail.com?? Mahi????? r? gmail
#3? Ravi_123 at yahoo.com?? Ravi??? 123? yahoo
#4 Lavk.lll at rediff.com?? Lavk??? lll rediff
A.K.
Hi,
Emails
Mal123 at gmail.com
Mahi.r at gmail.com
Ravi_123 at yahoo.com
Lavk.lll at 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
Mal123 at gmail.com? ? ? ?? mal? ? ? ? ?? 123? ? ? ? ?? gmail
Mahi.r at gmail.com? ? ? ? ?? mahi? ? ? ? r? ? ? ? ? ? ? ? gmail
Ravi_123 at yahoo.com? ?? ravi? ? ?? 123? ? ? ? ? ? gmail
Lavk.lll at rediff.com
Please give me solution