Rechercher : dans
Par :

Perl split et les textes fraco

Dernière réponse le 26 jan 2009 à 20:41:00 Salem7, le 26 jan 2009 à 02:35:27 
 Signaler ce message aux modérateurs

Bonjour,
je suis linguiste et assez débutante merci en Perl...
J'ai un problème avec la fonction 'split'.
Je cherche à séparer un texte en mots et à rechercher l'occurrence de certains mots. Par exemple, je voudrais pouvoir rechercher les articles définis (le, la, les, l'). Le problème est dans la division du texte en mots, j'arrive à utiliser
@mots = (split/ /, $ligne);
mais cette fonction ne me permet pas de découper des séquences telles: l'uranium.
Je sais qu'il est possible de spécifier plusieurs délimiteurs avec la fonction 'split', mais je n'arrive pas à spécifier l'espace et l'apostrophe.
Quelqu'un peut me donner un coup de main, SVP???
Merci à l'avance

Configuration: Windows Vista
Firefox 3.0.5

Meilleures réponses pour « Perl split et les textes fraco » dans :
Inverser le texte dans Word (effet miroir) VoirS'il est possible d'effectuer une rotation du texte avec Word (icône zone de texte, puis format / orientation du texte), celui-ci ne permet en revanche pas de faire des opérations de symétrie. La solution consiste donc à insérer une image contenant...
[MS-Dos] Ecrire dans un fichier texte en batch VoirPour écrire dans un fichier texte, il suffit d'utiliser une redirection ">" : echo texte_à_ecrire > fichier_de_sortie.txt Pour écrire à la fin d'un texte existant (concaténation) : echo "écriture a la fin du fichier ">>...
Javascript - split() VoirLa fonction split() permet de scinder une chaîne de caractère et de retourner les résultats dans un tableau, grâce à une chaîne définie comme séparateur. Dans l'exemple ci-dessous, la fonction split() permet de découper la date selon le caractère...
Télécharger TextWrangler VoirTextWrangler est un éditeur de texte évolué. Il propose de nombreuses fonctionnalités : recherche/remplacement simple ou sur plusieurs fichiers utilisation d'expressions rationnelles (regexp) comparaisons de fichiers presse-papiers...
Perl - Caractéristiques du langage VoirFichier source, et interprétation Le fichier source d'un programme écrit en Perl est un simple fichier texte dont l'extension est par convention .pl. Ce fichier source doit être un fichier texte non formatté, c'est-à-dire un fichier texte dans sa...
Perl - Les fichiers VoirLa notion de filehandle On appelle filehandle (traduisez descripteur de fichier), dans un programme Perl, le nom permettant de manipuler une connexion d'entrée-sortie (les entrées-sorties standards vues précédemment sont connues par les filehandles...
Les variables avec Perl VoirConcept de variable avec Perl Une variable est un objet repéré par son nom, pouvant contenir des données, qui pourront être modifiées lors de l'exécution du programme. Les variables en langage Perl peuvent être de trois...

1

lami20j, le 26 jan 2009 à 06:45:43
  • +1

Salut,

Tu peux séparer les mots, mais tu peux récupérer seulement les articles.
Voici une exemple qui peut être ne t'aidera as trop.
Pour une solution adéquate il faut connaître le texte d'entrée et aussi les résultats désirés

lami20j@debian:~/trash$ cat ccm1_split.pl
#!/usr/bin/perl
use strict;use warnings;

my $ligne="le cahier la table l'uranium les fleurs";
my @mots = split /[\s']/,$ligne;            # liste de mots
my @articles = $ligne =~ /\b(l[ea]?s?)\b/g; # que les articles

print "$ligne\n";
print "$_\n" for @mots;
print "*" x 30 ,"\n";
print "$_\n" for @articles;
__END__
lami20j@debian:~/trash$ perl ccm1_split.pl
le cahier la table l'uranium les fleurs
le
cahier
la
table
l
uranium
les
fleurs
******************************
le
la
l
les
106485010510997108

Répondre à lami20j

2

 Salem7, le 26 jan 2009 à 20:41:00

Merci, tu fais ma journée!
Je me rends compte que ma seule erreur était de ne pas avoir utilisé les crochets ([]) en utilisant *split*.

1ère question dans ce forum et une réponse en moins de 24h, vive la technologie!!! Et bien entendu, vive les âmes charitables prêtes à partager leur savoir!
Merci encore!

Répondre à Salem7