Peut sembler trouver une fonction de sous-chaîne en python.
Dites que je veux afficher les 100 premiers caractères d'une chaîne, comment puis-je faire cela?
Je veux le faire en toute sécurité également, en mesurant si la chaîne est de 50 caractères, elle ne devrait pas échouer.
Réponses:
la source
print 'foo'[:100]
(notez quelen('foo')
c'est 3, donc même quandfoo[100]
ça ne marche pas, ça marche)À partir du didacticiel python :
Il est donc sûr à utiliser
x[:100]
.la source
Facile:
la source
Pour répondre à la préoccupation de Philipp (dans les commentaires), le découpage fonctionne également pour les chaînes Unicode
Si vous souhaitez exécuter le code ci-dessus en tant que script, placez cette ligne en haut
Si votre éditeur n'enregistre pas dans utf-8, remplacez l'encodage correct
la source
ς
etσ
c'est la même lettre :-)greek_alphabet
alors :)Le découpage des tableaux se fait avec
[first:last+1]
.Une astuce que j'ai tendance à utiliser beaucoup est d'indiquer des informations supplémentaires avec des ellipses. Donc, si votre champ est de cent caractères, j'utiliserais:
Et oui, je sais que
()
c'est superflu dans ce cas pour l'%
opérateur de formatage, c'est juste mon style.la source
La plupart des exemples précédents lèveront une exception au cas où votre chaîne ne serait pas assez longue.
Une autre approche consiste à utiliser
'yourstring'.ljust(100)[:100].strip()
.Cela vous donnera les 100 premiers caractères. Vous pouvez obtenir une chaîne plus courte au cas où les derniers caractères de votre chaîne seraient des espaces.
la source
Le formatage de chaîne à l'aide
%
est un excellent moyen de gérer cela. Voici quelques exemples.Le code de mise en forme se
'%s'
convertit'12345'
en une chaîne, mais c'est déjà une chaîne.'%.3s'
spécifie de n'utiliser que les trois premiers caractères.'%.7s'
dit d'utiliser les sept premiers caractères, mais il n'y en a que cinq. Aucun problème.'%7s'
utilise jusqu'à sept caractères, en remplissant les caractères manquants avec des espaces à gauche.'%-7s'
est la même chose, sauf remplir les caractères manquants à droite.'%5.3'
dit d'utiliser les trois premiers caractères, mais remplissez-les d'espaces sur la gauche pour totaliser cinq caractères.Même chose sauf remplissage à droite.
Peut également gérer plusieurs arguments!
Si vous avez besoin d'encore plus de flexibilité,
str.format()
est également disponible. Voici la documentation pour les deux.la source
Donc, si vous ne voulez prendre que 100 premiers caractères, utilisez
your_string[0:100]
ouyour_string[:100]
Si vous ne voulez prendre que le caractère à la position paire, utilisezyour_string[::2]
Les "valeurs par défaut" pour le début sont 0, pour stop - len de la chaîne et pour l 'étape - 1. Donc quand vous n'en fournissez pas un et mettez ':', il l'utilisera comme valeur par défaut.la source