Python Encontre todas as ocorrências na string

Vaibhhav Khetarpal 30 janeiro 2023
  1. Use a função string.count() para encontrar todas as ocorrências de uma substring em uma string em Python
  2. Use Compreensão de lista e startswith() para encontrar todas as ocorrências de uma substring em uma string em Python
  3. Use o re.finditer() para encontrar todas as ocorrências de uma substring em uma string em Python
Python Encontre todas as ocorrências na string

Uma substring em Python é um cluster de caracteres que ocorre dentro de outra string. Lidar com substrings geralmente pode ser problemático. Um desses problemas é encontrar todas as ocorrências de uma substring dentro de uma determinada string.

Este tutorial discutirá diferentes métodos para localizar todas as ocorrências de uma substring dentro de uma string em Python.

Use a função string.count() para encontrar todas as ocorrências de uma substring em uma string em Python

O string.count() é uma função embutida no Python que retorna a quantidade ou o número de ocorrências de uma substring em uma determinada string. Além disso, possui parâmetros adicionais start e end para especificar os índices das posições inicial e final.

O método count() percorre a string e retorna o número de vezes que uma substring específica ocorreu na string.

O código a seguir usa a função string.count() para localizar todas as ocorrências de uma substring em uma string.

# defining string and substring
str1 = "This dress looks good; you have good taste in clothes."
substr = "good"

# occurrence of word 'good' in whole string
count1 = str1.count(substr)
print(count1)

# occurrence of word 'good' from index 0 to 25
count2 = str1.count(substr, 0, 25)
print(count2)

Resultado:

2
1

É um método fácil e funciona em todos os casos. A única desvantagem desse método é que ele não retorna os diferentes índices nos quais a substring ocorre na string.

Use Compreensão de lista e startswith() para encontrar todas as ocorrências de uma substring em uma string em Python

Este método precisa de duas coisas: compreensão de lista e o método startswith().

A função startswith() desempenha a tarefa de obter os índices iniciais da substring, e a compreensão da lista é utilizada para iterar através da string de destino completa.

O código a seguir usa compreensão de lista e startswith() para localizar todas as ocorrências de uma substring em uma string.

# defining string
str1 = "This dress looks good; you have good taste in clothes."

# defining substring
substr = "good"

# printing original string
print("The original string is : " + str1)

# printing substring
print("The substring to find : " + substr)

# using list comprehension + startswith()
# All occurrences of substring in string
res = [i for i in range(len(str1)) if str1.startswith(substr, i)]

# printing result
print("The start indices of the substrings are : " + str(res))

Resultado:

The original string is : This dress looks good; you have good taste in clothes.
The substring to find : good
The start indices of the substrings are : [17, 34]

Use o re.finditer() para encontrar todas as ocorrências de uma substring em uma string em Python

re.finditer() é uma função da biblioteca regex que o Python fornece para os programadores usarem em seu código. Ajuda a realizar a tarefa de encontrar a ocorrência de um determinado padrão em uma string. Para usar esta função, precisamos primeiro importar a biblioteca regex re.

re.finditer() usa os parâmetros pattern e string em sua sintaxe. Nesse caso, o padrão se refere à substring.

O código a seguir usa a função re.finditer() para localizar todas as ocorrências de uma substring em uma string.

import re

# defining string
str1 = "This dress looks good; you have good taste in clothes."

# defining substring
substr = "good"

print("The original string is: " + str1)

print("The substring to find: " + substr)

result = [_.start() for _ in re.finditer(substr, str1)]

print("The start indices of the substrings are : " + str(result))

Resultado:

The original string is: This dress looks good; you have good taste in clothes.
The substring to find: good
The start indices of the substrings are : [17, 34]
Vaibhhav Khetarpal avatar Vaibhhav Khetarpal avatar

Vaibhhav is an IT professional who has a strong-hold in Python programming and various projects under his belt. He has an eagerness to discover new things and is a quick learner.

LinkedIn

Artigo relacionado - Python String