Python >> Tutoriel Python >  >> Python

Comment obtenir la sous-chaîne d'une chaîne en Python ?

Pour obtenir une sous-chaîne d'une chaîne donnée en Python, vous pouvez utiliser une fonctionnalité populaire appelée "tranchage". La syntaxe est string[start:stop:step] avec la signification suivante :

  • start est l'indice du premier caractère inclus dans la sous-chaîne,
  • stop est l'indice du dernier caractère, mais il n'est pas lui-même inclus dans la sous-chaîne, et
  • step est la taille de pas qui vous permet de sauter certains caractères lors de la création de la sous-chaîne ou de parcourir la chaîne d'origine de droite à gauche en utilisant une taille de pas négative.

Exemple de syntaxe de sous-chaîne

Voici un exemple où vous appliquez cette syntaxe pour obtenir la sous-chaîne 'hello' à partir de la chaîne d'origine 'hello world' .

>>> s = 'hello world'
>>> s[0:5:1]
'hello'

Pour faciliter la compréhension, voici la table d'index de la chaîne 'hello world' —J'ai marqué les indices de début et de fin avec s et e :

h e l l o w o r l d
0 1 2 3 4 5 6 7 8 9 10
s e

Alternatives

Vous pouvez utiliser le découpage en huit variantes différentes pour obtenir la sous-chaîne d'une chaîne donnée.

Les voici :

  1. string[start:stop:step] – Obtenir une sous-chaîne avec des indices de début et de fin donnés et une taille de pas
  2. string[start::step] – Obtenir la sous-chaîne mais s'arrêter à la limite de la chaîne.
  3. string[:stop:step] – Obtenir la sous-chaîne mais commencer à la limite de la chaîne.
  4. string[::step] – Obtenir une sous-chaîne avec des limites de chaîne par défaut pour le démarrage et l'arrêt.
  5. string[start:stop] – Obtenir la sous-chaîne avec la taille de pas par défaut 1.
  6. string[start:] – Obtenir la sous-chaîne avec la taille de pas par défaut 1 et s'arrêter à la limite de la chaîne.
  7. string[:stop] – Obtenir une sous-chaîne avec début et fin par défaut aux limites de la chaîne.
  8. string[::] and string[:] – Obtenir une copie de la chaîne d'origine.

Prenez votre temps et parcourez lentement tous les exemples, un par alternative. Ce sera du temps bien utilisé pour améliorer vos compétences en codage !

>>> s = 'hello world'
>>> s[0:5:1]    # 1
'hello'
>>> s[0::1]     # 2
'hello world'
>>> s[:5:2]     # 3
'hlo'
>>> s[::2]      # 4
'hlowrd'
>>> s[2:5]      # 5
'llo'
>>> s[2:]       # 6
'llo world'
>>> s[:5]       # 7
'hello'
>>> s[::]       # 8
'hello world'

Plongeons-nous ensuite dans quelques exemples pratiques.

Python obtient une sous-chaîne entre deux index

Pour obtenir la sous-chaîne entre deux indices start (inclus) et stop (exclu), utilisez l'expression de découpage string[start:stop] . Par exemple, pour obtenir la sous-chaîne commençant par l'index 2 et se terminant par l'index 5 dans la chaîne d'origine 'hello world' , utilisez l'expression 'hello world'[2:5] .

start, stop = 2, 5
s = 'hello world'
print(s[2:5])
# llo

Python Obtenir la sous-chaîne par longueur

Pour obtenir une sous-chaîne d'une chaîne d'origine par une longueur donnée n et start index, utilisez l'expression de découpage string[start:start+n] . Par exemple, pour obtenir la sous-chaîne de 'hello world' en commençant par l'index 2 et la longueur 5 caractères, utilisez l'expression 'hello world'[2:2+5] ou 'hello world'[2:7] .

start = 2
n = 5
s = 'hello world'
print(s[start:start+n])
# llo w

Python obtient la sous-chaîne de l'index à la fin

Pour obtenir une sous-chaîne avec un start donné indexez et découpez tout à droite, utilisez l'expression de découpage string[start:] . Par exemple, pour obtenir la sous-chaîne de 'hello world' à partir de l'index 2, utilisez l'expression 'hello world'[2:] qui donne 'llo world' .

start = 2
s = 'hello world'
print(s[start:])
# llo world

Python obtient les N derniers caractères d'une chaîne

Pour obtenir le dernier N caractères d'une chaîne donnée, utilisez l'expression de découpage string[-N:] . Par exemple, pour obtenir les 5 derniers caractères de 'hello world' , utilisez l'expression 'hello world'[-5:] qui donne 'world' .

N = 5
s = 'hello world'
print(s[-N:])
# world

Python obtient tous les autres caractères d'une chaîne

Pour obtenir tous les autres caractères d'une chaîne donnée, utilisez l'expression de découpage string[::2] définir la taille du pas sur 2. Par exemple, pour obtenir tous les autres caractères de 'hello world' , utilisez l'expression 'hello world'[::2] qui donne 'hlowrd' .

s = 'hello world'
print(s[::2])
# hlowrd

Découpage d'explication vidéo

Si vous avez besoin d'explications détaillées sur le fonctionnement du découpage, n'hésitez pas à consulter mon guide vidéo ici :