- This topic has 3 replies, 3 voices, and was last updated 2 years, 1 month ago by .
Viewing 4 posts - 1 through 4 (of 4 total)
Viewing 4 posts - 1 through 4 (of 4 total)
- You must be logged in to reply to this topic.
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.
Olá 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
Excelente ! Funcionou. Muito obrigado !
Que bom que deu certo!