Python Método String find() com exemplos

⚡ Resumo Inteligente

Python O método `find()` da biblioteca `string` retorna o índice da primeira ocorrência de uma substring dentro de uma string. Ele retorna -1 quando a substring não está presente, evitando exceções.

  • 🔍 Sintaxe: A função find() recebe uma substring, além de índices inicial e final opcionais para limitar o intervalo de pesquisa.
  • 🎯 Primeira partida: A função find() retorna o menor índice da primeira ocorrência, percorrendo da esquerda para a direita.
  • Não encontrado: A função find() retorna -1 em vez de gerar um erro quando a substring está ausente.
  • 🔁 rfind(): O método rfind() retorna o índice mais alto, pesquisando a partir do lado direito.
  • ⚠️ índice(): O método index() comporta-se como find(), mas gera um ValueError quando a substring está ausente.
  • 🤖 Assistência de IA: Assistentes de codificação com IA geram lógica find() e potencializam a busca de substrings em fluxos de trabalho de PNL (Processamento de Linguagem Natural) em texto.

Python String encontrar()

O que é a Python String encontrar()?

Python String encontrar() é uma função disponível no Python Biblioteca para encontrar o índice da primeira ocorrência de uma substring dentro de uma string dada. A função find() retorna -1 em vez de lançar uma exceção quando a substring especificada não está presente na string dada. É uma das Pythonmais usado métodos de string para localizar texto.

Sintaxe de Python string encontrar()

A sintaxe básica do Python A função find() é a seguinte:

string.find(substring,start,end)

Parâmetros para o método find()

Aqui estão os três parâmetros da função find() em Python:

  • substring: A substring que você deseja procurar na string fornecida.
  • começar: (opcional) O valor inicial a partir do qual a busca pela substring começará. Por padrão, é 0.
  • final: (opcional) O valor final onde a busca pela 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 Python O método find() recebe como parâmetros a substring, ou seja, a string que você deseja procurar, além de start e end. O valor de start é 0 por padrão, e o valor de end é o comprimento da string.

Neste exemplo, usaremos o método find() em Python com valores padrão.

O método find() procura a substring e retorna a posição da primeira ocorrência da mesma. Se a substring estiver presente várias vezes na string fornecida, ele ainda retornará o índice ou a posição da primeira ocorrência.

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 procurar uma substring na string fornecida e especificar a posição inicial a partir da qual a busca começará. O parâmetro `start` pode ser usado para essa finalidade.

O exemplo abaixo especifica a posição inicial como 20 e o método find() em Python A busca começará na posição 20. Aqui, a posição final será o comprimento da string, portanto, a busca continuará até o final da string a partir da posição 20.

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

Utilizando os parâmetros de início e fim, podemos 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 a função `find()` nos ajuda a encontrar o índice da primeira ocorrência de uma substring. Ela 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 a substring que estamos procurando não é encontrada.

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 de que `rfind()` retorna o índice mais alto para a substring fornecida, enquanto `find()` retorna o mais baixo, ou seja, o primeiro índice. Tanto `rfind()` quanto `find()` retornam -1 se a substring não estiver presente.

No exemplo abaixo, temos a string “Meet GuruSite de 99 tutoriais. Melhor site para Python Tutoriais!” e tentará encontrar a posição da substring Tutorials usando find() e rfind(). A substring Tutorials ocorre duas vezes na string.

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

O resultado mostra que find() retorna o índice da primeira substring de "Tutorials" encontrada, enquanto rfind() retorna o índice da última substring de "Tutorials".

Python índice de string()

O Python A função `index()` retorna a posição de uma substring fornecida, assim como a função `find()`. A única diferença entre as duas é que `index()` lança uma exceção se a substring não estiver presente na string, enquanto `find()` retorna -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

Obtemos a mesma posição tanto para find() quanto para 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 “test”. A substring não está presente na string fornecida, então, usando find(), obtemos a posição -1, mas para index() ocorre um erro, como mostrado acima.

Para encontrar a ocorrência total de uma substring

Para encontrar o número total de vezes que uma substring ocorreu na string fornecida, utilizaremos a função find(). PythonVamos percorrer a string usando um laço for, do índice 0 até o final da string, utilizando o parâmetro startIndex da função find().

As variáveis ​​startIndex e count serão inicializadas com o valor 0. Dentro do laço for, verificaremos se a substring está presente na string fornecida usando a função find() com startIndex igual a 0.

O valor retornado por find(), se diferente de -1, atualizará startIndex para o índice onde a string foi encontrada e também incrementará o valor de count.

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

" Aprender mais sobre Python Divisão de string()

Perguntas Frequentes

Sim. A função find() encontra a substring exatamente, então “Hello”.find(“h”) retorna -1 enquanto “Hello”.find(“H”) retorna 0. Converta a string com lower() ou upper() primeiro quando precisar de uma busca que não diferencie maiúsculas de minúsculas.

O operador `in` retorna apenas `True` ou `False` para indicar se uma substring existe. A função `find()` vai além e retorna o índice exato da primeira ocorrência, ou -1 quando a substring não existe.

Sim. A função find() aceita índices iniciais e finais negativos, que contam a partir do final da string. Por exemplo, “Guru99”.find(“9”, -2) pesquisa apenas os dois últimos caracteres e retorna sua posição.

O método str.find() localiza uma correspondência por vez. Para todas as correspondências em uma única chamada, use o módulo re: re.findall() retorna todas as substrings correspondentes e re.finditer() retorna objetos de correspondência com cada posição inicial.

O método `find()` só funciona com strings, portanto, chamá-lo em uma lista gera um erro `AttributeError`. Para localizar um item em uma lista ou tupla, use o método `index()`, que retorna a posição da primeira ocorrência.

Sim. Para uma busca simples de substring, a função `find()` é implementada em C e é executada mais rapidamente do que compilar uma expressão regular. Recorra ao módulo `re` apenas quando precisar de padrões, curingas ou múltiplas correspondências.

Em aprendizado de máquina e PNL (Processamento de Linguagem Natural), a função `find()` localiza palavras-chave, tags ou delimitadores durante a limpeza e tokenização de texto. Detectar a presença de uma substring, ou sua localização, ajuda a construir recursos e analisar as entradas do modelo.

Sim. O GitHub Copilot completa automaticamente as chamadas find(), rfind() e index() a partir de um breve comentário que descreve seu objetivo. As ferramentas de IA agéticas vão além, escrevendo a lógica de busca, adicionando argumentos de início e fim e executando seus testes.

Resuma esta postagem com: