stringr::str_locate(TEXT,":|,")[1]
Код, который вы хотите, теперь у вас просто есть список?Затем используйте вышеупомянутое в lapply:
library(stringr)
city_list <- lapply(city, str_locate,":|,")
cities <- lapply(city_list,`[[`, 1)
Это может быть еще проще в кадре данных:
library(dplyr)
library(stringr)
df %>%
mutate(city = str_locate(city,":|,")[1])