Я хочу слова после первой полной остановки в столбце, содержащем текст, используя R

#r

#r

Вопрос:

Я хочу текст из второго предложения.

 text="I need to go to mall today. I want to purchase clothes. Also, I want to buy shoes."
  

Ожидаемый результат:

 I want to purchase clothes. Also, I want to buy shoes.
  

Ответ №1:

Возможность с strsplit() :

 sapply(strsplit(text, ". ", fixed = TRUE), 
       function(x) paste(x[2:length(x)], collapse = ". "))

[1] "I want to purchase clothes. Also, I want to buy shoes."
  

Ответ №2:

Мы также можем использовать stringr::str_match для записи всего после первой точки.

 stringr::str_match(text, "\.(.*)")[, 2]
#[1] " I want to purchase clothes. Also, I want to buy shoes."
  

[, 2] чтобы получить группу захвата.

Ответ №3:

Мы можем использовать base R with sub для сопоставления символов, которые не являются a, за которыми . следует a . , и пробел, если таковой имеется, заменить пробелами ( "" )

 sub("^[^.] \.\s*", "", text)
#[1] "I want to purchase clothes. Also, I want to buy shoes."
  

и эквивалентный вариант в tidyverse был бы

 library(stringr)
str_replace(text, "^[^.] \.\s*", "")
#[1] "I want to purchase clothes. Also, I want to buy shoes."