IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage Perl Discussion :

Phrases à nettoyer


Sujet :

Langage Perl

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Mai 2007
    Messages
    43
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 43
    Par défaut Phrases à nettoyer
    Bonjour,
    Je souhaite me débarasser dans une phrase de certains mots 'vides' tels que
    articles, prépositions...
    Le script que j'ai fait fonctionne pour certains mots et pas pour d'autres et je ne vois pas pourquoi, je pensais que ça pouvait être du aux accents, mais pourquoi un mot comme 'été' n'est pas reconnu alors que 'auprès' l'est de même que 'à' n'est pas reconnu.

  2. #2
    Membre Expert
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2003
    Messages
    1 603
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2003
    Messages : 1 603
    Par défaut
    Tu sais, sans ton code sous les yeux pour tenter de repérer ce qui pourrait clocher dedans, tu ne risques pas d'avoir beaucoup de réponses

  3. #3
    Membre averti
    Inscrit en
    Mai 2007
    Messages
    43
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 43
    Par défaut
    en fait je commence par ouvrir un fichier contenant les mots vides,
    je place ces mots dans un tableau, puis pour chaque mot vide je demande au programme de supprimer ce mot partout où il se trouve dans la phrase que le lui soumets.

    code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    #ouverture du fichier de mots vides
    open (OUVRIR, "<mots_vides.txt") or die "impossible ouvrir : $!";
    #création  du tableau de mots vides
    while ($vides=<OUVRIR>){
    chomp $vides;
    $vides=~s/\;//g;
    push (@mots,$vides);
    }
    close OUVRIR;
    #suppression des mots vides pour chaque phrase contenue dans un fichier donné en argument
    open (INPUT, "<$ARGV[0]");
    while ($line=<INPUT>){
    foreach $mots(@mots){
    $line=~s/\b$mots\b/ /g;
    }
    #visualition de mes phrases nettoyées 
    print "$line\n";
    et si je fais mon nettoyage en remplaçant la création de mon tableau par une ligne du type
    code:
    $line=~s/été|à|là/ /g;

    ça fonctionne, pourquoi dans ce cas là et pas dans l'autre ?

  4. #4
    Membre Expert
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2003
    Messages
    1 603
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2003
    Messages : 1 603
    Par défaut
    Citation Envoyé par khasanouray
    et si je fais mon nettoyage en remplaçant la création de mon tableau par une ligne du type
    code:
    $line=~s/été|à|là/ /g;

    ça fonctionne, pourquoi dans ce cas là et pas dans l'autre ?
    Ca signifie que Perl, au moment où il lit tes mots vides, ne récupère pas bien les accents.

    Pour t'en assurer, fais donc un print de chaque mot de ta liste pour voir ce que ça donne à l'affichage.

  5. #5
    Membre averti
    Inscrit en
    Mai 2007
    Messages
    43
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 43
    Par défaut
    Il m'affiche certains caractères bizarrement le 'à' devient un 'o' avec accent, le 'é' un ù

    Il y a moyen de palier à cette mauvaise 'lecture' ?
    Un paramétrage particulier ?

Discussions similaires

  1. Comment je peux changer nom de 'Table' avec la phrase sql
    Par YEK dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 01/10/2004, 08h38
  2. [langage] [RegExp] Récupérer une portion de phrase
    Par GLDavid dans le forum Langage
    Réponses: 4
    Dernier message: 27/08/2004, 22h01
  3. Phrase et mot exacte
    Par Tigris94 dans le forum Requêtes
    Réponses: 2
    Dernier message: 16/07/2004, 10h24
  4. un batch DOS pour "nettoyer des fichiers" ?
    Par RoroMinator dans le forum Scripts/Batch
    Réponses: 9
    Dernier message: 12/02/2004, 16h24
  5. Extraction des phrases d'un Texte
    Par LE CHAKAL dans le forum Langage
    Réponses: 6
    Dernier message: 19/08/2002, 21h23

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo