У меня есть строка - цепочка писем, мне нужно было извлечь имя отправителя (From :)
. Ниже вы найдете образец электронной почтыИзвлечь имя из письма с помощью регулярного выражения в R
str1 <- 'From : Wendy YEOW (SLA) To : [email protected] Subject : RE: [email protected]
From: SLA Enquiry (SLA) Sent: Friday, 5 June, 2015 5:26 PM To : [email protected] Subject : RE: [email protected]
From: Siti Zaharah RAMAN (ARKS) Sent: Friday, 5 June, 2015 5:26 PM To : [email protected] Subject : RE: [email protected]
From: SLA Enquiry (SLA) Sent: Friday, 5 June, 2015 5:26 PM To : [email protected] Subject : RE: [email protected]
From: Chin Hwang LAU (TA) Sent: Friday, 5 June, 2015 5:26 PM To : [email protected] Subject : RE: [email protected]'
У меня есть ниже код - для извлечения имен
str_extract_all(string=str1,pattern="\\b(From\\s*[:]+\\s*(\\w*))\\b")[[1]]
[1] "From : Wendy" "From: SLA" "From: Siti" "From: SLA" "From: Chin"
Но мой желаемый результат:
[1] "Wendy YEOW (SLA)" "SLA Enquiry (SLA)" "Siti Zaharah RAMAN (ARKS)" "SLA Enquiry (SLA)" "Chin Hwang LAU (TA)"
Это аккуратно, и я хотел бы понять, почему это работает. Не могли бы вы добавить комментарий? – Andrie
@ Andrie Я добавил объяснение. –
Спасибо. Я перейду и перечитаю, как 'strsplit' имеет дело с регулярным выражением. (+1) – Andrie