Extrair uma parte específica do texto

Oi, tudo bem?
Tenho uma dúvida relacionada a extrair uma parte específica de um texto… Abaixo um exemplo da minha dúvida:

Texto_Exemplo<-"O texto é muito grande, com muitas palavras, portanto, para não colocá-lo completo aqui, preferi escrever esse texto de exemplo, que contém poucas palavras. Categorias Relacionadas texto palavras exemplo."

A ideia é retirar somente essa parte final: “Categorias Relacionadas texto palavras exemplo.”, deixando meu texto apenas:

Novo Texto<- "O texto é muito grande, com muitas palavras, portanto, para não colocá-lo completo aqui, preferi escrever esse texto de exemplo, que contém poucas palavras."

Como consigo fazer isso?

Ozias, depende muito do que você quer remover/manter. Abaixo coloco alguns exemplos de como transformar Texto_Exemplo em Novo_Texto:

library(stringr)

Texto_Exemplo <- "O texto é muito grande, com muitas palavras, portanto, para não colocá-lo completo aqui, preferi escrever esse texto de exemplo, que contém poucas palavras. Categorias Relacionadas texto palavras exemplo."

# Remover texto indesejado diretamente
str_remove(Texto_Exemplo, " Categorias Relacionadas texto palavras exemplo.")
#> [1] "O texto é muito grande, com muitas palavras, portanto, para não colocá-lo completo aqui, preferi escrever esse texto de exemplo, que contém poucas palavras."

# Remover a partir de uma palavra
str_remove(Texto_Exemplo, " Categorias.+")
#> [1] "O texto é muito grande, com muitas palavras, portanto, para não colocá-lo completo aqui, preferi escrever esse texto de exemplo, que contém poucas palavras."

# Manter até o primeiro ponto final
str_extract(Texto_Exemplo, ".*?\\.")
#> [1] "O texto é muito grande, com muitas palavras, portanto, para não colocá-lo completo aqui, preferi escrever esse texto de exemplo, que contém poucas palavras."

# Remover depois do primeiro ponto final
str_remove(Texto_Exemplo, "(?<=\\.).+")
#> [1] "O texto é muito grande, com muitas palavras, portanto, para não colocá-lo completo aqui, preferi escrever esse texto de exemplo, que contém poucas palavras."

Created on 2020-07-08 by the reprex package (v0.3.0)

2 curtidas

Obrigado @clente, acho que vou conseguir com a segunda opção:
str_remove(Texto_Exemplo, " Categorias.+")

Tenho vários textos num data.frame, que estou organizando via web-scraping… Talvez por alguma falha de organização no html das páginas que estou raspando, ele acaba sempre trazendo juntamente com o final de cada texto as tags de cada texto. Eu tenho essas tags, a partir de Categorias Relacionadas, em outra variável no meu data.frame, será se consigo com o mutate? Exemplo:
library(tidyverse)
library(stringr)

    dados<- dados %>% mutate(novo_texto=str_remove(texto, tags))

Fico com dúvida por conta que se por exemplo, tiver no início do texto alguma dessas palavras que estão nas tags, será se elas vão ser removidas também?

Atualização: Testei o mutate(novo_texto=str_remove(texto, tags)) e deu certo, exceto quando o texto não tinha tags, e as tags estavam como NA, aí ele me retornou NA… Vou tentar arrumar… Mais uma vez, Obrigado @clente