Python Método String find() com exemplos
O que é o Python String encontrar()?
Python String encontrar() é uma função disponível em Python biblioteca para encontrar o índice da primeira ocorrência de uma substring da string dada. A função string find() retornará -1 em vez de lançar uma exceção, se a substring especificada não estiver presente na string dada.
Sintaxe de Python string encontrar()
A sintaxe básica de Python A função find() é a seguinte:
string.find(substring,start,end)
Parâmetros para o método find()
Aqui estão três parâmetros da função String find() em Python:
- substring: a substring que você deseja pesquisar na string fornecida.
- começo: (opcional) O valor inicial de onde a pesquisa por substring começará. Por padrão, é 0.
- final: (opcional) O valor final onde a pesquisa por substring terminará. Por padrão, o valor é o comprimento da string.
Exemplo de método find() com valores padrão
Os parâmetros passados para Python O método find() é substring, ou seja, a string que você deseja pesquisar, iniciar e terminar. O valor inicial é 0 por padrão e o valor final é o comprimento da string.
Neste exemplo, usaremos o método find() em Python com valores padrão.
O método find() irá procurar a substring e fornecer a posição da primeira ocorrência da substring. Agora, se a substring estiver presente várias vezes na string fornecida, ela ainda retornará o índice ou posição da primeira.
Exemplo:
mystring = "Meet Guru99 Tutorials Site.Melhor site for Python Tutorials!" print("The position of Tutorials is at:", mystring.find("Tutorials"))
Saída:
The position of Tutorials is at: 12
Exemplo de find() usando o argumento start
Você pode pesquisar a substring na string fornecida e especificar a posição inicial, de onde a pesquisa começará. O parâmetro start pode ser usado para o mesmo.
O exemplo especificará a posição inicial como 15, e find() em Python O método iniciará a pesquisa a partir da posição 15. Aqui, a posição final será o comprimento da string e pesquisará até o final da string a partir de 15 posições.
Exemplo:
mystring = "Meet Guru99 Tutorials Site.Melhor site for Python Tutorials!" print("The position of Tutorials is at:", mystring.find("Tutorials", 20))
Saída:
The position of Tutorials is at 48
Exemplo de find() usando argumentos de início e fim
Usando os parâmetros start e end, tentaremos limitar a pesquisa, em vez de pesquisar a string inteira.
Exemplo:
mystring = "Meet Guru99 Tutorials Site.Melhor site for Python Tutorials!" print("The position of Tutorials is at:", mystring.find("Tutorials", 5, 30))
Saída:
The position of Tutorials is at 12
Exemplo do método find() Para encontrar a posição de uma determinada substring em uma string
Sabemos que find() nos ajuda a encontrar o índice da primeira ocorrência da substring. Ele retorna -1 se a substring não estiver presente na string fornecida. O exemplo abaixo mostra o índice quando a string está presente e -1 quando não encontramos a substring que estamos procurando.
Exemplo:
mystring = "Meet Guru99 Tutorials Site.Melhor site for Python Tutorials!" print("The position of Melhor site is at:", mystring.find("Melhor site", 5, 40)) print("The position of Guru99 is at:", mystring.find("Guru99", 20))
Saída:
The position of Melhor site is at: 27 The position of Guru99 is at: -1
Python stringrfind()
O Python A função rfind() é semelhante à função find() com a única diferença é que rfind() fornece o índice mais alto para a substring fornecida e find() fornece o mais baixo, ou seja, o primeiro índice. Tanto rfind() quanto find() retornarão -1 se a substring não estiver presente.
No exemplo abaixo, temos uma string “Conheça o site de tutoriais Guru99. Melhor site para Python Tutoriais!” e tentarei encontrar a posição dos tutoriais de substring usando find() e rfind(). A ocorrência de Tutoriais na string é duas vezes.
Aqui está um exemplo onde find() e rfind() são usados.
mystring = "Meet Guru99 Tutorials Site.Melhor site for Python Tutorials!" print("The position of Tutorials using find() : ", mystring.find("Tutorials")) print("The position of Tutorials using rfind() : ", mystring.rfind("Tutorials"))
Saída:
The position of Tutorials using find() : 12 The position of Tutorials using rfind() : 48
A saída mostra que find() fornece o índice da primeira substring de Tutoriais obtida e rfind() fornece o último índice de substring de Tutoriais.
Python índice de string()
O Python string index() é uma função que fornecerá a posição da substring fornecida, assim como find(). A única diferença entre os dois é que index() lançará uma exceção se a substring não estiver presente na string e find() retornará -1.
Aqui está um exemplo prático que mostra o comportamento de index() e find().
mystring = "Meet Guru99 Tutorials Site.Melhor site for Python Tutorials!" print("The position of Tutorials using find() : ", mystring.find("Tutorials")) print("The position of Tutorials using index() : ", mystring.index("Tutorials"))
Saída:
The position of Tutorials using find() : 12 The position of Tutorials using index() : 12
Estamos obtendo a mesma posição para find() e index(). Vejamos um exemplo em que a substring fornecida não está presente na string.
mystring = "Meet Guru99 Tutorials Site.Melhor site for Python Tutorials!" print("The position of Tutorials using find() : ", mystring.find("test")) print("The position of Tutorials using index() : ", mystring.index("test"))
Saída:
The position of Tutorials using find() : -1 Traceback (most recent call last): File "task1.py", line 3, in <module> print("The position of Tutorials using index() : ", mystring.index("test")) ValueError: substring not found
No exemplo acima, estamos tentando encontrar a posição da substring “teste”. A substring não está presente na string fornecida e, portanto, usando find(), obtemos a posição como -1, mas para index(), gera um erro conforme mostrado acima.
Para encontrar a ocorrência total de uma substring
Para encontrar o número total de vezes que a substring ocorreu na string fornecida, usaremos a função find() em Python. Percorrerá a string usando for-loop de 0 até o final da string. Fará uso do parâmetro startIndex para find().
As variáveis startIndex e count serão inicializadas com 0. Inside for –loop verificará se a substring está presente dentro da string fornecida usando find() e startIndex como 0.
O valor retornado de find() se não for -1, atualizará o startIndex para o índice onde a string foi encontrada e também incrementará o valor da contagem.
Aqui está o exemplo de trabalho:
my_string = "test string test, test string testing, test string test string" startIndex = 0 count = 0 for i in range(len(my_string)): k = my_string.find('test', startIndex) if(k != -1): startIndex = k+1 count += 1 k = 0 print("The total count of substring test is: ", count )
Saída:
The total count of substring test is: 6
Resumo
- O Python O método string find() ajuda a encontrar o índice da primeira ocorrência da substring na string fornecida. Ele retornará -1 se a substring não estiver presente.
- Os parâmetros passados para Python O método find substring é substring, ou seja, a string que você deseja pesquisar, iniciar e terminar. O valor inicial é 0 por padrão e o valor final é o comprimento da string.
- Você pode pesquisar a substring na string fornecida e especificar a posição inicial, de onde a pesquisa começará. O parâmetro start pode ser usado para o mesmo.
- Usando os parâmetros start e end, tentaremos limitar a pesquisa, em vez de pesquisar a string inteira.
- O Python função rfind() é semelhante à função find() com a única diferença é que rfind() fornece o índice mais alto para a substring fornecida e find() fornece o mais baixo, ou seja, o primeiro índice. Tanto rfind() quanto find() retornarão -1 se a substring não estiver presente.
- O Python string index() é outra função que fornecerá a posição da substring fornecida, assim como find(). A única diferença entre os dois é que index() lançará uma exceção se a substring não estiver presente na string e find() retornará -1.
- Podemos usar find() para encontrar a contagem da ocorrência total de uma substring em uma determinada string.
" Aprender mais sobre Python Divisão de string()