Método Python String find () com exemplos

Índice:

Anonim

O que é Python String find ()?

Python String find () é 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 find () da string retornará -1 em vez de lançar uma exceção, se a substring especificada não estiver presente na string fornecida.

Neste tutorial do método find () de string Python, você aprenderá:

  • O que é Python String find ()?
  • Sintaxe de string find () do Python
  • Exemplo de método find () com valores padrão
  • Exemplo de find () usando o argumento start
  • Exemplo de find () usando argumentos de início e fim
  • Exemplo de método find () Para encontrar a posição de uma determinada substring em uma string
  • String Python rfind ()
  • Python string index ()
  • Para encontrar a ocorrência total de uma substring

Sintaxe de string find () do Python

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.
  • start : (opcional) O valor inicial de onde a pesquisa por substring começará. Por padrão, é 0.
  • end : (opcional) O valor final em que 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 dar 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 a 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"))

Resultado:

The position of Tutorials is at: 12

Exemplo de find () usando o argumento start

Você pode pesquisar a substring na string dada e especificar a posição inicial, de onde a pesquisa começará. O parâmetro inicial pode ser usado para o mesmo.

O exemplo irá especificar a posição inicial como 15, e o 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 irá 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))

Resultado:

The position of Tutorials is at 48

Exemplo de find () usando argumentos de início e fim

Usando os parâmetros de início e fim, tentaremos limitar a pesquisa, em vez de pesquisar a string inteira.

Exemplo:

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

Resultado:

The position of Tutorials is at 12

Exemplo de 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 de 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 procuramos.

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

Resultado:

The position of Best site is at: 27The 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 menor, ou seja, o primeiro índice. Ambos rfind () e find () retornarão -1 se a substring não estiver presente.

No exemplo abaixo, temos uma string "Meet Guru99 Tutorials Site. Best site for Python Tutorials!" e tentará 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 em que 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"))

Resultado:

The position of Tutorials using find() : 12The position of Tutorials using rfind() : 48

A saída mostra que find () fornece o índice da primeira substring de Tutorials que obtém e rfind () fornece o último índice de substring de Tutoriais.

Python string index ()

A string Python index () é uma função que lhe dará a posição da substring fornecida exatamente como find (). A única diferença entre os dois é, index () lançará uma exceção se a substring não estiver presente na string e find () retornará -1.

Aqui está um exemplo de trabalho 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"))

Resultado:

The position of Tutorials using find() : 12The position of Tutorials using index() : 12

Estamos obtendo a mesma posição para find () e index (). Vejamos um exemplo quando 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"))

Resultado:

The position of Tutorials using find() : -1Traceback (most recent call last):File "task1.py", line 3, in print("The position of Tutorials using index() : ", mystring.index("test"))ValueError: substring not found

No exemplo acima, estamos tentando encontrar a posição do "teste" da substring. A substring não está presente na string fornecida e, portanto, usando find (), obtemos a posição como -1, mas para index (), ele 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 dada, usaremos a função find () em Python. Irá percorrer a string usando o loop for de 0 até o final da string. Irá usar o parâmetro startIndex para find ().

As variáveis ​​startIndex e count serão inicializadas em 0. Dentro de -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 -1, atualizará o startIndex para o índice onde a string é encontrada e também incrementará o valor de contagem.

Aqui está o exemplo de trabalho:

my_string = "test string test, test string testing, test string test string"startIndex = 0count = 0for i in range(len(my_string)):k = my_string.find('test', startIndex)if(k != -1):startIndex = k+1count += 1k = 0print("The total count of substring test is: ", count )

Resultado:

The total count of substring test is: 6

Resumo

  • O método find () da string do 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 dada e especificar a posição inicial, de onde a pesquisa começará. O parâmetro inicial pode ser usado para o mesmo.
  • Usando os parâmetros de início e fim, tentaremos limitar a pesquisa, em vez de pesquisar a string inteira.
  • 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 menor, ou seja, o primeiro índice. Ambos rfind () e find () retornarão -1 se a substring não estiver presente.
  • A string Python index () é outra função que fornecerá a posição da substring fornecida exatamente como find (). A única diferença entre os dois é, 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.