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."
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."
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