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.
Subcadena de Python
Veamos primero dos formas diferentes de crear una subcadena.
Crear una Subcadena
Podemos crear una subcadena usando rebanado de cadena. Podemos usar la función split() para crear una lista de subcadenas basadas en un 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)
Salida:
Pankaj
['My', 'Name', 'is', 'Pankaj']
Comprobación de si se encuentra la subcadena
Podemos usar el operador in o la función find() para verificar si la subcadena está presente en la cadena o no.
s = 'My Name is Pankaj'
if 'Name' in s:
print('Substring found')
if s.find('Name') != -1:
print('Substring found')
Tenga en cuenta que la función find() devuelve la posición del índice de la subcadena si se encuentra, de lo contrario devuelve -1.
Conteo de ocurrencias de subcadenas
Podemos usar la función count() para encontrar el número de ocurrencias de una subcadena en la cadena.
s = 'My Name is Pankaj'
print('Substring count =', s.count('a'))
s = 'This Is The Best Theorem'
print('Substring count =', s.count('Th'))
Salida:
Substring count = 3
Substring count = 3
Encontrar todos los índices de la subcadena
No existe una función incorporada para obtener la lista de todos los índices de la subcadena. Sin embargo, podemos definir fácilmente una usando la función 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'))
Salida: [0, 8, 17]
Puedes revisar el script completo de Python y más ejemplos en Python desde nuestro Repositorio de GitHub.
Source:
https://www.digitalocean.com/community/tutorials/python-string-substring