Abréviation dans python
Fermé
dedey
-
Modifié le 17 oct. 2017 à 22:36
mamiemando Messages postés 33623 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 11 avril 2025 - 23 oct. 2017 à 20:27
mamiemando Messages postés 33623 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 11 avril 2025 - 23 oct. 2017 à 20:27
A voir également:
- Abréviation dans python
- Abréviation planning aide soignante - Télécharger - Outils professionnels
- Citizen code python avis - Accueil - Outils
- Clc abréviation ✓ - Forum Mail
- Abréviation ✓ - Forum Bureautique
1 réponse
mamiemando
Messages postés
33623
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
11 avril 2025
7 840
20 oct. 2017 à 10:18
20 oct. 2017 à 10:18
Bonjour,
Si j'ai bien compris la question, ceci devrait faire l'affaire ?
Ce qui donne à l'exécution :
Bonne chahce
Si j'ai bien compris la question, ceci devrait faire l'affaire ?
#!/usr/bin/env python3 import re text = "bonjour 123 au revoir." words = re.findall("[a-zA-Z]+", text) for word in words: print(word)
Ce qui donne à l'exécution :
bonjour
au
revoir
Bonne chahce
20 oct. 2017 à 13:53
S'il y a des caractères accentués ?
Modifié le 20 oct. 2017 à 14:31
si le but est juste d'éliminer des résultats affichés les "mots" qui comportent un ou plusieurs chiffres, on peut juste remplacer la ligne 11 , qui ne va servir que si le "mot" est exclusivement composé de chiffres, par , qui va éliminer des "mots" tels que "3g." ou "123." qui autrement passeraient les filtres des lignes 9 et 11
23 oct. 2017 à 10:27
Sur le même principe, tu peux de la même façon ajouter les ponctuations en fin de mots quitte à les supprimer à posteriori.
#!/usr/bin/env python3 import re text = "bonjour à vous! au revoir." words = re.findall("[0-9]*[a-zA-Zâàäéèêëîïôöùûü]+[.,;:?]?", text) for word in words: print(word.rstrip(".,;:"))
Tu peux encore complexifier pour gérer les parenthèses, accolades et crochets si tu le souhaites, dans tous les cas tu vois qu'une expression rationnelle fait le travail quitte à virer les caractères non lettre a posteriori.
Modifié le 23 oct. 2017 à 13:17
1- pour des "mots" de longueur inférieure à 2 et en majuscule, donc, en fait, consistant seulement en une lettre majuscule, donc, par exemple " ", " ", etc.
ou
2- pour des "mots" de longueur inférieure à 6 et se terminant par un point, dont par exemple : " " (y compris le point)
sa question était qu'il/elle voulait "empêcher l'affichage de chiffres", qui ne sont susceptibles de s'afficher que comme partie de l'affichage dans le cas 2 (car un chiffre comme "1" n'est pas uppercase selon python, car il n'a pas de casse), donc, comme indiqué dans mon message, selon ma compréhension des exemples de "mots" non voulus seraient : "3g." ou "123." ou encore "G7.".
De toutes façons dedey ne donne aucun feedback, alors je crois qu'on se fatigue pour rien, malheureusement :-(
23 oct. 2017 à 20:27