Пока это трудно описать письменно. Я пытаюсь найти способ Общая сделать это:
[1] "Nature's Corner, Inc.Grocery StoresHerbsBBB Rating: A+"
[2] "Peapod Pick-UpGrocery StoresFood Delivery Service"
[3] "Stop & ShopGrocery Stores"
[4] "WegmansGrocery Stores"
В это:
[1] "Nature's Corner, Inc."
[2] "Peapod Pick-Up"
[3] "Stop & Shop"
[4] "Wegmans"
Есть ли способ написать это с помощью регулярных выражений, используя gsub?
@Wil Я ищу общее решение. Не только продуктовые магазины.





Сделайте (где s — ваш массив строк):
gsub(pattern = "([a-z.])[A-Z].*", replacement = "\\1", x = s)
Что это делает: ищите строчную букву или . затем следует заглавная буква. Оставьте первый символ, а затем удалите все последующие.
Результат:
[1] "Nature's Corner, Inc." "Peapod Pick-Up" "Stop & Shop" "Wegmans"
(с более узкой консолью)
[1] "Nature's Corner, Inc."
[2] "Peapod Pick-Up"
[3] "Stop & Shop"
[4] "Wegmans"
Альтернатива:
Если часть, которую вы хотите удалить, всегда начинается с «Бакалея», сделайте
gsub(pattern = "Grocery.*", replacement = "", x = s)
Но это может преобразовать "Магазин продуктов мамы и папы" в "Мама и папа".
Всегда ли вы пытаетесь удалить "Продуктовые магазины..."?