从损坏的字符串中提取数据

时间:2015-12-09 18:22:58

标签: r

您好我有一个数据框,其中一列是变量是电子邮件。不幸的是,出了点问题,一些电子邮件ID的数字前缀由下划线分隔。这些是我注意到的两种模式。

如果我们从左边开始处理,有没有办法在下划线后提取数据。可以构建一些逻辑,以便脚本足够智能,以检查是否有一个下划线或两个下划线。我可以使用find()right()函数在excel中执行此操作,但想知道如何在R中完成此操作。

例如:

product$email

83837_83838_abcd@gmail.com
83837_abcd@gmail.com

output
abcd@gmail.com
abcd@gmail.com

1 个答案:

答案 0 :(得分:2)

我们可以使用sub

sub('.*_', '', str1)
#[1] "abcd@gmail.com" "abcd@gmail.com"

或者

library(stringr)
str_extract(str1, '[^_]+$')

数据

str1 <- c('83837_83838_abcd@gmail.com', '83837_abcd@gmail.com')