У меня есть такой вектор символьных строк x = c("ABC", "ABC, EF", "ABC, DEF, 2 stems", "DE, other comments, and stuff")
.
Я бы хотел разделить каждый из них на две составляющие: 1) набор заглавных букв (2 или 3 буквы, разделенных запятыми), и 2) все после последней "[AZ] [AZ]," .
Результат должен быть
[[1]]
[1] "ABC"
[[2]]
[1] "ABC, EF"
[[3]]
[1] "ABC, DEF" "2 stems"
[[4]]
[1] "DE" "other comments, and stuff"
Я пробовал strsplit(x, "[A-Z][A-Z], [a-z0-9]")
и strsplit(x, "(?:[A-Z][A-Z], )[a-z0-9]")
, оба из которых вернули
[[1]]
[1] "ABC"
[[2]]
[1] "ABC, EF"
[[3]]
[1] "ABC, D" " stems"
[[4]]
[1] "" "ther comments, and stuff"
Определение места разделения зависит от комбинации конца первой подстроки и начала второй подстроки, поэтому эти части исключаются из конечного результата.
Любая помощь, которая ценится при расщеплении, как указано выше, при включении соответствующих частей регулярного выражения в каждую подстроку!