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()