Vous êtes ici : Accueil / Forums & ML / Forums Python / Forum général Python / debutant - Nouveaux problèmes avec findall

debutant - Nouveaux problèmes avec findall

Remonter à Forum général Python
  • debutant - Nouveaux problèmes avec findall

    Envoyé par biterrenc le 5 Juin 2010 à 18:53
    Bonsoir à tous,

    je reviens avec mon scrougnougnou de findall.
    je veux couper un texte suivant certains paramètres. je me sert donc de findall. Mon code est le suivant :

     

    def maFonction(self.texte) :
    mot=re.compile(r'\w+|\S+', re.LOCALE)
    return mot.findall(texte)



    Ce code me donne bien un mot seul, une ponctuation seule (.,:;)
    ex: le cheval, dans le pré,est joli : je le nourris bien.
    donne "le" "cheval" "," " dans " " le " " pré " ... " : " ... "bien" "."

    Mais je voudrais être plus précis, et je n'arrive pas à trouver la solution:
    les ?! sont collés aux mots. Exemple, ZUT! donne "ZUT!" et je voudrais avoir "ZUT" "!", de plus un mot avec apostrophe comme "L'HOMME" est coupé en " L " " 'HOMME " par exemple alors que je voudrais l'avoir d'un mot " L'HOMME ". Malgré tous mes essais je bloque.
    De plus, je travaille sur des textes d'une langue régionale où l'on peut trouver des voyelles accentuées autres que les françaises, tròbi, fornís etc... ces voyelles ne semblent pas être reconnues et coupent le mot. Comment puis-je faire dans ce cas le codage du texte ?

    Merci pour ceux qui pourront me répondre,
    Bonne soirée,
    Biterrenc

    • Re: debutant - Nouveaux problèmes avec findall

      Envoyé par biterrenc le 5 Juin 2010 à 22:57
      je me réponds car j'ai trouvé une solution (lourde ) mais qui semble fonctionner:
      mot=re.compile(r'\w+\S\w+|\w+|\.|\?|\!|\S+', re.UNICODE)
      Cela me donne bien la ponctuation seule et les apostrophes collées à l'article et au mot ex : "l'homme" et non " l " "' homme". Les caractères accentués sont bien gérés aussi. Mais cela est possible que si je "nettoie " le texte avant cad je met un espace après le point, la virgule, etc sinon ils ne sont pas gérés à part.
      Explications un peu embrouillées, sans doute l'heure !
      Bonsoir à tous
      Biterrenc
Rendu par Ploneboard