Это продолжение этого вопроса: Объединить предыдущие и последние слова со словом, которое соответствует условию в R
Я ищу регулярное выражениекоторый разбивает строку во втором пробеле, который происходит после запятой. Посмотрите на пример ниже:
vector <- c("Paulsen", "Kehr,", "Diego",
"Schalper", "Sepúlveda,", "Alejandro",
"Von Housen", "Kush,", "Terry")
X <- paste(vector, collapse = " ")
X
## this is the string I am looking to split:
"Paulsen Kehr, Diego Schalper Sepúlveda, Diego Von Housen Kush, Terry"
Второй пробел после каждой запятой является критерием для моего regex . Итак, мой вывод будет:
"Paulsen Kehr, Diego"
"Schalper Sepúlveda, Alejandro"
"Von Housen Kush, Terry"
Я создал шаблон, но он не совсем работает.
[^ ]+ [^ ]+, [^ ]+( )
Использование его с strsplit
удаляет все слова вместорасщепление только в группе 1 (т.е. [^ ]+ [^ ]+, [^ ]+(group-1)
). Я думаю, что мне просто нужно исключить полный матч и совпадать с пробелом только после. - regex demo
strsplit(X, "[^ ]+ [^ ]+, [^ ]+( )")
# [1] "" [2] "" [3] "Von Housen Kush, Terry"
Кто-нибудь может подумать о regex для поиска второго пробела после каждой запятой