У меня есть следующие данные
Mydata <- data_frame(
myfield = c("ABC MUVBC82668689230230",
"C3 MVBT7927979279279.",
"t4 MUDW0348737237907023.",
"D18 MVGJH979247979027903")
)
Я пытаюсь извлечь часть строки, которая начинается с «MU» и «MV», создав новую переменную для сохранения результата. Желаемый результат будет:
MUVBC82668689230230
MVBT7927979279279
MUDW0348737237907023
MVGJH979247979027903
Что я пробовал до сих пор:
pattern <- str_locate(Mydata$myfield, "\\d+\\-\\d+MU|\\d+\\-\\d+MV")
mydata$myfield2 <- str_extract(mydata$myfield2, pattern)
Mydata <- Mydata %>%
mutate(myfield2 = str_sub(Mydata$myfield2, pattern))
Mydata <- Mydata %>%
mutate(myfield2= str_extract(myfield, pattern = "MV\\d+"))
Mydata <- Mydata %>%
mutate(myfield2 = str_extract_all("(?<=^| )(MU|MV).*?(?=$| )"))
Mydata <- Mydata %>%
mutate(myfield2= str_extract(myfield, "Mv\\d+(_[A-Z]+)*"))
Я обычно использую substr (), но в моих данных шаблон не всегда начинается в та же позиция. Любое руководство приветствуется.