I am looking for a script to extract name from email. and then reverse the name string for example email = email@example.com then extract ram.singh.tak from email and replace "." with space like ram singh tak and then mutate data frame with new column with reverse name like tak singh ram
I am trying to make it dynamic so that it will detect separator dynamically by user provided separator
df <- data.frame(name= c("ali wing sam","nick jone","mak liam","r mush","sink dude"), Email = c("sam.wing.ali@@ttt.com","firstname.lastname@example.org","email@example.com","firstname.lastname@example.org","email@example.com")) separator = " " df <- df %>% mutate(across(c(name,Email), tolower)) %>% mutate(email_name1 = str_extract(Email, '.*(?=@)')) %>% mutate(email_name1 = str_replace_all(email_name1, "\\.", separator)) %>% mutate(email_name = str_extract(Email, '.*(?=@)')) %>% separate(col = email_name, into = c('f','s','l'), sep = '\\.') %>% mutate(l = replace_na(l,''), email_name_rev = str_c(l,s,f, sep = separator)) %>% select(-c("f","s","l")) df$email_name_rev <- str_squish(df$email_name_rev) df <- df %>% mutate(match1 = +(name == email_name_rev | name == email_name1))
I am trying to match name and name in email after extracting name from email and reverse of name in email . sometimes separator can be comma "," or "." or " "space in name column. thats why i am giving input parameter as separator for user
is there any solution updation for my code...???
the output be like below