Recherche de site Web

Sous-chaîne de chaîne Python


Une sous-chaîne est la partie d'une chaîne. La chaîne de caractères Python propose diverses méthodes pour créer une sous-chaîne, vérifier si elle contient une sous-chaîne, l'index d'une sous-chaîne, etc. Dans ce tutoriel, nous examinerons diverses opérations liées aux sous-chaînes.

Examinons d'abord deux façons différentes de créer une sous-chaîne.

Créer une sous-chaîne

Nous pouvons créer une sous-chaîne en utilisant le découpage de chaîne. Nous pouvons utiliser la fonction split() pour créer une liste de sous-chaînes en fonction du délimiteur spécifié.

s = 'My Name is Pankaj'

create substring using slice
name = s[11:]
print(name)

list of substrings using split
l1 = s.split()
print(l1)

Sortie :

Pankaj
['My', 'Name', 'is', 'Pankaj']

Vérification si le sous-chaîne est trouvée

Nous pouvons utiliser l'opérateur in ou la fonction find() pour vérifier si une sous-chaîne est présente dans la chaîne ou non.

s = 'My Name is Pankaj'

if 'Name' in s:
    print('Substring found')

if s.find('Name') != -1:
    print('Substring found')

Notez que la fonction find() renvoie la position d'index de la sous-chaîne si elle est trouvée, sinon elle renvoie -1.

Nombre d'occurrences de sous-chaînes

Nous pouvons utiliser la fonction count() pour trouver le nombre d'occurrences d'une sous-chaîne dans la chaîne.

s = 'My Name is Pankaj'

print('Substring count =', s.count('a'))

s = 'This Is The Best Theorem'
print('Substring count =', s.count('Th'))

Sortie :

Substring count = 3
Substring count = 3

Trouvez tous les index de la sous-chaîne

Il n'y a pas de fonction intégrée pour obtenir la liste de tous les index de la sous-chaîne. Cependant, nous pouvons facilement en définir une en utilisant la fonction 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'))

Sortie : [0, 8, 17]

Vous pouvez consulter le script Python complet et d'autres exemples de Python sur notre dépôt GitHub.