59 votes

Python : couper le dernier mot d'une phrase ?

Quelle est la meilleure façon de découper le dernier mot d'un bloc de texte ?

Je peux penser à

  1. Divisez-le en liste (par espaces) et supprimez le dernier élément, puis recaténez la liste.
  2. Utilisez une expression régulière pour remplacer le dernier mot.

Je suis actuellement en approche #1, mais je ne sais pas comment concaténer la liste...

 content = content[position-1:position+249] # Content
words = string.split(content, ' ')
words = words[len[words] -1] # Cut of the last word

Tous les exemples de code sont très appréciés.

17voto

murgatroid99 Points 5099

Vous devez absolument diviser puis supprimer le dernier mot, car une expression régulière aura à la fois plus de complications et une surcharge inutile. Vous pouvez utiliser le code plus Pythonic (en supposant que le contenu est une chaîne):

 ' '.join(content.split(' ')[:-1])

Cela divise le contenu en mots, prend tout sauf le dernier mot et rejoint les mots avec des espaces.

6voto

Giacomo d'Antonio Points 433

Si vous aimez la compacité :

 ' '.join(content.split(' ')[:-1]) + ' ...'

4voto

NickAldwin Points 4494

Si vous souhaitez conserver votre méthode actuelle, utilisez ' '.join(words) pour concaténer la liste.

Vous pouvez également remplacer words = words[len[words -1] par words = words[:-1] pour utiliser le découpage de liste.

3voto

Wooble Points 35620

' '.join(words) reconstituera la liste.

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