bulle0789
Messages postés1Date d'inscriptionsamedi 13 février 2010StatutMembreDernière intervention13 février 2010
-
13 févr. 2010 à 13:27
werefrog
Messages postés3Date d'inscriptionjeudi 31 décembre 2009StatutMembreDernière intervention 5 mars 2012
-
9 mars 2010 à 21:52
bonjour,
je débute en python, donc je n'ai pour l'instant encore que des bases.
Je sais que pour supprimer un signe de ponctuation d'un texte il faut text.split('.')
Mais voilà comment dois-je m'y prendre pour les enlever tous, car j'ai essayer :
text='Les representants de la C.G.T. de la S.N.C.F se sont presentes aupres de M. le ministre ; ce faisant ils n’ont pas ete entendu avant la fin de la reunion precedente.'
def coupe (text):
a=text.split('.')
a=text.split(';')
print (a)
et il resulte qu'il me separe mon texte en fonction des ";" et ne prend plus en compte le"."
Donc pourriez vous m'aider à obtenir un resultat qui prend en compte les 2 paramètre?
merci d'avance
lespinx
Messages postés106Date d'inscriptionlundi 9 octobre 2006StatutMembreDernière intervention23 novembre 202277 15 févr. 2010 à 12:46
Bonjour,
Petite erreur
a= text.split('.')
a=text.split(';')
Pour éliminer "." et ";" il aurait fallu faire
a=text.split('.')
b =a.split(';')
Mais ce n'est pas tout à fait aussi simple
Exemple de code:
text='Les representants de la C.G.T. de la S.N.C.F se sont presentes aupres de M. le ministre ; ce faisant ils n’ont pas ete entendu avant la fin de la reunion precedente.'
def coupe (text):
a=text.split('.')
#La methode SPLIT renvoie un resultat de type LIST
print "1 - a =",type(a)
#changement de type (transformation d'une liste en chaine de caractères)
a="".join(a)
print "2 - a =",type(a)
b=a.split(';')
b="".join(b)
print "3 - b =",type(b)
print b
werefrog
Messages postés3Date d'inscriptionjeudi 31 décembre 2009StatutMembreDernière intervention 5 mars 2012 9 mars 2010 à 21:48
Salut,
Je suis également débutant.
Personnellement, j'opte plutôt pour une transformation préalable du texte en remplaçant les caractères délimiteurs voulus par un délimiteur arbitraire (par exemple: '<TO_SPLIT>') pour finalement créer la liste.
texte = text='Les representants de la C.G.T. de la S.N.C.F se sont presentes aupres de M. le ministre ; ce faisant ils n’ont pas ete entendu avant la fin de la reunion precedente.'
def coupe(texte, delimiteurs='.;', marqueur='<TO_SPLIT>'):
for delimiteur in delimiteurs:
texte = texte.replace(delimiteur, marqueur)
return texte.split(marqueur)
resultat = coupe(texte)
print(resultat)
Par contre, si le but est d'obtenir un texte sans les signes '.' et ';', le code suivant suffit :
texte = text='Les representants de la C.G.T. de la S.N.C.F se sont presentes aupres de M. le ministre ; ce faisant ils n’ont pas ete entendu avant la fin de la reunion precedente.'
def nettoyage(texte, delimiteurs='.;'):
for delimiteur in delimiteurs:
texte = texte.replace(delimiteur, '')
return texte
resultat = nettoyage(texte)
print(resultat)