Métodos find() e rfind() para operações com strings em Python
As instruções find() e rfind() são métodos internos de strings em Python para realizar operações de buscas. Especificamente, eles são usados para localizar o índice de uma substring em uma string.
find() em Python
O método find() retorna o índice da primeira ocorrência de uma substring especificada na string original. Sua sintaxe geral é mostrada abaixo:
string.find(substring, start=0, end=len(string))
Nessa sintaxe, o parâmetro substring se refere à cadeia de caracteres que você está procurando dentro da string principal. O parâmetro start é opcional e define o índice inicial (incluído na busca) para iniciar a pesquisa. O padrão é 0. Outro parâmetro opcional é o end. Ele define o índice final (não incluído na busca) para limitar a pesquisa. O padrão é o comprimento total da string original obtido com a instrução len(string).
Quando o método find() localiza a subtring, ele retorna o índice do primeiro caractere na string principal onde a substring é iniciada. Se a substring não for encontrada, ele retorna -1. Veja alguns exemplos:
# exemplo com find()
texto = "Ana foi para praia com a Anabela."
print(texto.find("Ana"))
# resultado: 0
# exemplo com find() sem encontrar substring
texto = "Maria foi para praia com a Marta."
print(texto.find("Ana"))
# resultado: -1
# exemplo com find() com start e end para limitar a busca
texto = "O evento ocorreu no meio de janeiro. Mas sua ocorrência estava prevista para o final de janeiro. A data foi alterada por causa das chuvas."
print(texto.find("janeiro", 30, len(texto)))
# resultado: 88
Método rfind()
O rfind() e um método equivalente ao find() para realizar buscas em strings em Python. Ele tem os mesmos parâmetros e sintaxe equivalente. A principal diferença entre find() e rfind() é que find() retorna o índice da primeira ocorrência, enquanto rfind() retorna o índice da última ocorrência da substring em uma string. Portanto, quando rfind() for usado para buscar uma substring e ela for encontrada, ele retornará o índice do primeiro caractere na string principal onde a última ocorrência da substring começa. Se a substring não for encontrada, ele retornará -1. Veja alguns exemplos:
# Exemplo com rfind()
texto = "Ana foi para praia com a Anabela."
print(texto.rfind("Ana"))
# resultado: 25
# Exemplo com rfind() - rfind() busca a última ocorrência sempre
texto = "Ana e Anamaria foram para a praia com a Anabela."
print(texto.rfind("Ana"))
# resultado: 40
É importante notar que ambos os métodos diferenciam maiúsculas de minúsculas em strings em Python. Portanto, se você precisa realizar uma busca sem diferenciar maiúsculas de minúsculas, a melhor opção é combinar o uso de find() e rfind() com métodos adicionais de conversões de strings como lower().
# Exemplo com rfind() combinado com lower()
texto = "Ana foi para praia com a anabela."
print(texto.rfind("Ana".lower()))
# resultado: 25
Veja também:
Encontrou algum erro ou quer fazer uma sugestão? Por favor, entre em contato usando nosso formulário de contatos.