2597 votes

Existe-t-il un moyen de soustraire une chaîne de caractères en Python ?

Existe-t-il un moyen de soustraire une chaîne de caractères en Python, pour obtenir une nouvelle chaîne à partir du 3ème caractère jusqu'à la fin de la chaîne ?

Peut-être comme myString[2:end] ?

EDIT : Si quitter la deuxième partie signifie "jusqu'à la fin", si vous quittez la première partie, est-ce que cela recommence depuis le début ?

3657voto

Paolo Bergantino Points 199336
>>> x = "Hello World!"
>>> x[2:]
'llo World!'
>>> x[:2]
'He'
>>> x[:-2]
'Hello Worl'
>>> x[-2:]
'd!'
>>> x[2:-2]
'llo Worl'

Python appelle ce concept "slicing" et il ne fonctionne pas seulement sur les chaînes de caractères. Jetez un coup d'oeil ici pour une introduction complète.

478voto

Endophage Points 6879

Juste pour être complet, car personne d'autre ne l'a mentionné. Le troisième paramètre d'une tranche de tableau est un pas. Donc inverser une chaîne est aussi simple que :

some_string[::-1]

Ou en sélectionnant des personnages alternatifs :

"H-e-l-l-o- -W-o-r-l-d"[::2] # outputs "Hello World"

La possibilité d'avancer et de reculer dans la chaîne permet de maintenir la cohérence avec la possibilité d'effectuer une tranche d'array depuis le début ou la fin.

161voto

user680353 Points 120

Substr() fonctionne normalement (c'est-à-dire en PHP, Perl) de cette manière :

s = Substr(s, beginning, LENGTH)

Les paramètres sont donc le début et la LONGUEUR

Mais le comportement de Python est différent, il attend le début et un après END ( !). Il est difficile à repérer pour les débutants. Le remplacement correct de Substr(s, début, LENGTH) est donc le suivant

s = s[ beginning : beginning + LENGTH]

79voto

codingscientist Points 425

Un moyen courant d'y parvenir est le découpage en String. MyString[a:b] vous donne une sous-chaîne de l'indice a à b

43voto

DNS Points 17577

En plus de la réponse directe que d'autres ont donnée, vous pouvez trouver toutes les autres règles de comportement de découpage expliquées dans la section Strings du site officiel de l'UE. tutoriel .

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X