Python string index: Como encontrar a posição de uma substring
O método index()
pode ser usado para pesquisar uma string e recuperar o índice de uma substring em Python. Com ele, você pode pesquisar toda string em Python ou somente parte dela.
Sintaxe e funcionalidade de Python string index
A sintaxe do método index
é muito fácil de explicar. Ele pode ser invocado com um, dois ou três argumentos, sendo os dois últimos opcionais. O primeiro argumento é sempre a substring que você deseja procurar na string. Os dois argumentos opcionais são os índices nos quais a pesquisa deve ser iniciada ou interrompida. Você pode usar esses argumentos se estiver procurando pela substring apenas em uma determinada área da string. O trecho de código a seguir ilustra a sintaxe deste método:
Neste exemplo, string
é uma string arbitrária e substring
é a substring a ser procurada. start
e end
indicam os índices de início e fim da pesquisa. Se nenhum índice de fim for especificado (se houver apenas dois argumentos no total), a pesquisa terminará no final da string. O método retorna o índice da primeira ocorrência da substring como valor de retorno. Portanto, se uma substring ocorrer mais de uma vez, todas as ocorrências após a primeira são ignoradas pelo index()
. Aqui está um exemplo de como o método funciona.
Como você pode ver no exemplo acima, a segunda chamada do index()
retorna apenas o índice do “am” em “I am”, ou seja, outras ocorrências de “am” são ignoradas. Na última chamada do index()
, observe que o método retorna uma exceção (ValueError
) se a substring não estiver incluída. Esta exceção também aparecerá se forem inseridos índices negativos ou se o índice inicial for maior que o índice final. Se um desses casos puder ocorrer no seu código, você terá a possibilidade de tratar a exceção adequadamente.
Processar strings é uma tarefa corriqueira da programação em Python. Por isso, é importante que as strings sejam salvas e exibidas no formato apropriado. No nosso artigo sobre formatos de strings em Python, explicamos mais detalhadamente como você pode adaptar o formato das strings às suas necessidades.
Alternativa ao Python string index: método find
Dependendo do seu objetivo, o método find
pode ser uma escolha melhor que o método index
. Ele é quase idêntico ao método index, mas tem uma diferença importante: se a substring não for encontrada, nenhuma exceção é criada. Em vez disso, ele simplesmente retorna -1
. Como uma exceção não tratada causaria uma falha no seu código, o find
pode ser muito benéfico a quem não puder ou quiser lidar com uma possível exceção. O tratamento da exceção pode até ser simulado com uma condição if
, conforme mostrado aqui:
Neste exemplo, se a substring não for encontrada, abre-se uma ramificação, assim como ocorre com uma exceção. A maior diferença é que find()
, no código acima, precisa ser executado várias vezes quando a substring é encontrada.
Python é uma das linguagens de programação mais flexíveis que existem, e oferece muitas opções em termos de strings. Descubra diferentes maneiras de comparar strings em Python.
Exemplos de Python string index
Observe, agora, como o método index()
pode ser usado em um código. Primeiro, apresentaremos um exemplo simples e depois um código um pouco mais complexo.
string = “Peter Piper picked a peck of pickled peppers.” print(“A string a ser verificada é “ + string)
Este exemplo procura uma substring em uma string. Em seguida, ele mostra se a substring está contida na string e, em caso afirmativo, em que índice. Neste caso, a string que estamos procurando é predeterminada, mas a substring é reinserida pelo usuário a cada vez.
Neste exemplo, uma string inserida pelo usuário é verificada quanto a uma substring. Se uma ocorrência da substring for encontrada na string, o número de ocorrências é incrementado e a pesquisa é reiniciada. Quando o final da string é alcançado, o número total de ocorrências é exibido e o código se encerra.
À procura de uma maneira de publicar sua aplicação web de forma rápida e fácil? Então o Deploy Now da IONOS é a plataforma perfeita para você!