A substring is the part of a string. Python string provides various methods to create a substring, check if it contains a substring, index of substring etc. In this tutorial, we will look into various operations related to substrings.
Substring de String em Python
Vamos primeiro olhar para duas formas diferentes de criar um substring.
Criar um Substring
Podemos criar um substring usando slice de string. Podemos usar a função split() para criar uma lista de substrings baseada em um delimitador especificado.
s = 'My Name is Pankaj'
# create substring using slice
name = s[11:]
print(name)
# list of substrings using split
l1 = s.split()
print(l1)
Resultado:
Pankaj
['My', 'Name', 'is', 'Pankaj']
Verificando se o substring é encontrado
Podemos usar o operador in ou a função find() para verificar se o substring está presente na string ou não.
s = 'My Name is Pankaj'
if 'Name' in s:
print('Substring found')
if s.find('Name') != -1:
print('Substring found')
Observe que a função find() retorna a posição do índice do substring se ele for encontrado, caso contrário retorna -1.
Contagem de Ocorrência de Substring
Podemos usar a função count() para encontrar o número de ocorrências de uma substring na string.
s = 'My Name is Pankaj'
print('Substring count =', s.count('a'))
s = 'This Is The Best Theorem'
print('Substring count =', s.count('Th'))
Saída:
Substring count = 3
Substring count = 3
Encontrar todos os índices da substring
Não há uma função integrada para obter a lista de todos os índices para a substring. No entanto, podemos facilmente definir uma usando a função find().
def find_all_indexes(input_str, substring):
l2 = []
length = len(input_str)
index = 0
while index < length:
i = input_str.find(substring, index)
if i == -1:
return l2
l2.append(i)
index = i + 1
return l2
s = 'This Is The Best Theorem'
print(find_all_indexes(s, 'Th'))
Saída: [0, 8, 17]
Você pode conferir o script Python completo e mais exemplos de Python em nosso Repositório GitHub.
Source:
https://www.digitalocean.com/community/tutorials/python-string-substring