- Este tópico contém 3 respostas, 3 vozes e foi atualizado pela última vez 6 meses, 3 semanas atrás por Jones Granatyr.
- AutorPosts
- 5 de janeiro de 2021 às 20:25 #23364
Boa tarde. Tenho um texto que gostaria de retirar/substituir de uma vez só algumas palavras que estão numa lista.
Exemplo:
texto_antes = “gostaria de solicitar um novo documento para o meu trabalho”
lista = [“documento”, “trabalho”]
texto_depois = “gostaria de solicitar um novo ###### para o meu #####”
Tentei o re.sub e o replace, mas não consegui chegar no resultado esperado acima.
Alguma dica de como conseguiria chegar no “texto_depois”?
Obrigado.
5 de janeiro de 2021 às 22:39 #23367Olá Nelson, boa noite!
O método replace só substitui uma string por vez. E ele não faz substituições cumulativas. Ele sempre substitui a string original. Isso significa que se você tentar aplicar o método, ele faz isso
‘gostaria de solicitar um novo ##### para o meu trabalho’
‘gostaria de solicitar um novo documento para o meu ######’
Pois o método não é cumulativo. Uma forma de fazer as duas substituições (e quantas mais você quiser) seria preencher uma lista e ir substituindo aos poucos
texto_antes = 'gostaria de solicitar um novo documento para o meu trabalho' lista = ['documento', 'trabalho'] substituidos = [texto_antes] for i in lista: substituto_mais_recente = substituidos[-1].replace(i,'#####') substituidos.append(substituto_mais_recente) texto_depois = substituidos[-1] print(texto_depois)
Qualquer dúvida sobre como esse código acima funciona é só perguntar
Espero ter ajudado
- Esta resposta foi modificada 3 anos, 11 meses atrás por Guilherme Matos Passarini.
- Esta resposta foi modificada 3 anos, 11 meses atrás por Guilherme Matos Passarini.
6 de janeiro de 2021 às 01:25 #23371Excelente ! Funcionou. Muito obrigado !
14 de maio de 2024 às 09:29 #44824Que bom que deu certo!
- AutorPosts
- Você deve fazer login para responder a este tópico.