Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Metodo find do Python para encontrar a segunda ocorrência de uma string

Boa tarde.

Dei uma pesquisada na internet e na documentação do Python mas não encontrei uma forma efetiva de encontrar uma segunda ocorrência de uma string com o Python3.

Não tenho certeza se o metodo find possui essa funcionalidade.

2 respostas

Olá Danilo, boa tarde.

Até onde eu sei não existe essa funcionalidade direto no find, mas utilizando o parâmetro start do find dá para encontrar a segunda ocorrência.

Exemplo:

text = 'zzzAzzzAzzzA'
search = 'a'

first = text.find(search)
second = text.find(search, first+1)

print(second)
# Resultado: 7

O parâmetro start vai indicar a partir de qual caractere vai ser feita a busca, ignorando tudo que estiver antes.

Espero ter ajudado, qualquer dúvida é só falar!

solução!

Sim. Foi isso que eu fiz no meu código.

    def extraiArgumentos(self):
        indiceInicialMoedaOrigem = self.encontraIndiceInicial("moedaorigem=")
        indiceFinalMoedaOrigem = self.url.find("&")

        indiceInicialMoedaDestino = self.encontraIndiceInicial("moedadestino=")
        indiceFinalMoedaDestino = self.url.find("&", indiceFinalMoedaOrigem + 1)

        indiceValorInicial = self.encontraIndiceInicial("valor=")

        moedaOrigem = self.url[indiceInicialMoedaOrigem:indiceFinalMoedaOrigem]
        moedaDestino = self.url[indiceInicialMoedaDestino:indiceFinalMoedaDestino]
        valor = self.url[indiceValorInicial:]

        return moedaOrigem, moedaDestino, valor

Obrigado pela resposta.