Método Python String find() com exemplos

O que é string Python find()?

Encontrar string Python () é uma função disponível na biblioteca Python para encontrar o índice da primeira ocorrência de uma substring de uma determinada string. A função string find() retornará -1 em vez de throwing uma exceção, se a substring especificada não estiver presente na string fornecida.

Sintaxe da string Python find()

A sintaxe básica da função find() do Python é 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 o método find() do Python são 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.Best 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 o método find() no método Python 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 em diante.

Exemplo:

mystring = "Meet Guru99 Tutorials Site.Best 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 o parâmetro start e end, tentaremos limitar a pesquisa, em vez de searching toda a string.

Exemplo:

mystring = "Meet Guru99 Tutorials Site.Best 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 vendoarchipara.

Exemplo:

mystring = "Meet Guru99 Tutorials Site.Best site for Python Tutorials!"
print("The position of Best site is at:", mystring.find("Best site", 5, 40))
print("The position of Guru99 is at:", mystring.find("Guru99", 20))

Saída:

The position of Best site is at: 27
The position of Guru99 is at: -1

String Python rfind()

A função Python 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 a string “Meet Guru99 Tutorials Site. Melhor site para Tutoriais Python!” 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.Best 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.

Índice de string Python()

A string index() do Python é uma função que fornecerá a posição da substring fornecida exatamente 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.Best 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.Best 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 em uma determinada string, 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 método find() da string Python 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 o método find substring do Python são 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 o parâmetro start e end, tentaremos limitar a pesquisa, em vez de searching toda a string.
  • A Função Python 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.
  • A string index() do Python é 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 Divisão de string Python()