J'ai un texte pour lequel je souhaite trouver la distance (en nombre
de mots) entre 2 mots.
Exemple : le texte est le suivant :
"Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam sem
nisl, sodales ut molestie quis, rhoncus vitae urna. Sed rutrum varius
dolor a dapibus."
Je demande au script d'avoir (peu importe la forme tableau, hash,
etc...) la distance entre le mot "dolor" et le mot "Etiam" ; et il me
ressors : 5 (car 5 mots s=E9parent les 2 mots demand=E9s) et 12 (car le
mot "dolor" est pr=E9sent 2 fois).
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
jl_morel
Dans l'article <c7af2f7c-07a9-47a4-964b- , a dit...
J'ai un texte pour lequel je souhaite trouver la distance (en nombre de mots) entre 2 mots. Exemple : le texte est le suivant : "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam sem nisl, sodales ut molestie quis, rhoncus vitae urna. Sed rutrum varius dolor a dapibus."
Je demande au script d'avoir (peu importe la forme tableau, hash, etc...) la distance entre le mot "dolor" et le mot "Etiam" ; et il me ressors : 5 (car 5 mots séparent les 2 mots demandés) et 12 (car le mot "dolor" est présent 2 fois).
Je propose le script suivant. Il détermine le rang de chaque mot de la chaîne que l'on range dans un hash de listes. Ensuite, il calcule la distance de deux mots en faisant la différence des rangs des mots moins 1.
Attention à la regexp qui découpe les mots : la notion de mot dépend de la langue ("aujourd'hui" est un seul mot en français) et du codage des caractères.
Si on cherche la distance entre un mot et lui-même, le script renvoie des distances égales à -1 ! Il faut adapter le script le cas échéant.
#!/usr/bin/perl use strict; use warnings;
my $s = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam sem nisl, sodales ut molestie quis, rhoncus vitae urna. Sed rutrum varius dolor a dapibus.";
my %rang; my $i;
while ( $s =~ /([A-Za-zÆæ]+)/g ) { # découpage en mots push @{ $rang{$1} }, $i++; }
my $mot1 = 'dolor'; my $mot2 = 'Etiam'; my @distance;
Dans l'article <c7af2f7c-07a9-47a4-964b-
24894ffed200@21g2000vbk.googlegroups.com>, ernond_paul@yahoo.fr a dit...
J'ai un texte pour lequel je souhaite trouver la distance (en nombre
de mots) entre 2 mots.
Exemple : le texte est le suivant :
"Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam sem
nisl, sodales ut molestie quis, rhoncus vitae urna. Sed rutrum varius
dolor a dapibus."
Je demande au script d'avoir (peu importe la forme tableau, hash,
etc...) la distance entre le mot "dolor" et le mot "Etiam" ; et il me
ressors : 5 (car 5 mots séparent les 2 mots demandés) et 12 (car le
mot "dolor" est présent 2 fois).
Je propose le script suivant. Il détermine le rang de chaque mot de la
chaîne que l'on range dans un hash de listes. Ensuite, il calcule la
distance de deux mots en faisant la différence des rangs des mots moins 1.
Attention à la regexp qui découpe les mots : la notion de mot dépend de la
langue ("aujourd'hui" est un seul mot en français) et du codage des
caractères.
Si on cherche la distance entre un mot et lui-même, le script renvoie des
distances égales à -1 ! Il faut adapter le script le cas échéant.
#!/usr/bin/perl
use strict;
use warnings;
my $s = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam sem
nisl, sodales ut molestie quis, rhoncus vitae urna. Sed rutrum varius
dolor a dapibus.";
my %rang;
my $i;
while ( $s =~ /([A-Za-zÆæ]+)/g ) { # découpage en mots
push @{ $rang{$1} }, $i++;
}
my $mot1 = 'dolor';
my $mot2 = 'Etiam';
my @distance;
Dans l'article <c7af2f7c-07a9-47a4-964b- , a dit...
J'ai un texte pour lequel je souhaite trouver la distance (en nombre de mots) entre 2 mots. Exemple : le texte est le suivant : "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam sem nisl, sodales ut molestie quis, rhoncus vitae urna. Sed rutrum varius dolor a dapibus."
Je demande au script d'avoir (peu importe la forme tableau, hash, etc...) la distance entre le mot "dolor" et le mot "Etiam" ; et il me ressors : 5 (car 5 mots séparent les 2 mots demandés) et 12 (car le mot "dolor" est présent 2 fois).
Je propose le script suivant. Il détermine le rang de chaque mot de la chaîne que l'on range dans un hash de listes. Ensuite, il calcule la distance de deux mots en faisant la différence des rangs des mots moins 1.
Attention à la regexp qui découpe les mots : la notion de mot dépend de la langue ("aujourd'hui" est un seul mot en français) et du codage des caractères.
Si on cherche la distance entre un mot et lui-même, le script renvoie des distances égales à -1 ! Il faut adapter le script le cas échéant.
#!/usr/bin/perl use strict; use warnings;
my $s = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam sem nisl, sodales ut molestie quis, rhoncus vitae urna. Sed rutrum varius dolor a dapibus.";
my %rang; my $i;
while ( $s =~ /([A-Za-zÆæ]+)/g ) { # découpage en mots push @{ $rang{$1} }, $i++; }
my $mot1 = 'dolor'; my $mot2 = 'Etiam'; my @distance;
> Je propose le script suivant. Il détermine le rang de chaque mot de la chaîne que l'on range dans un hash de listes. Ensuite, il calcule la distance de deux mots en faisant la différence des rangs des mots moins 1.
tout simplement... :-) bon, par contre, je demandais pas à ce que vous m'écriviez le script. :-) jvoulais juste une aide ; mais bon..
sinon, pour le découpage de mot, je pense utiliser Lingua::EN::Splitter qui est à peu près cohérent même pour le fran çais.
> Je propose le script suivant. Il détermine le rang de chaque mot de la
chaîne que l'on range dans un hash de listes. Ensuite, il calcule la
distance de deux mots en faisant la différence des rangs des mots moins 1.
tout simplement... :-) bon, par contre, je demandais pas à ce que vous
m'écriviez le script. :-) jvoulais juste une aide ; mais bon..
sinon, pour le découpage de mot, je pense utiliser
Lingua::EN::Splitter qui est à peu près cohérent même pour le fran çais.
> Je propose le script suivant. Il détermine le rang de chaque mot de la chaîne que l'on range dans un hash de listes. Ensuite, il calcule la distance de deux mots en faisant la différence des rangs des mots moins 1.
tout simplement... :-) bon, par contre, je demandais pas à ce que vous m'écriviez le script. :-) jvoulais juste une aide ; mais bon..
sinon, pour le découpage de mot, je pense utiliser Lingua::EN::Splitter qui est à peu près cohérent même pour le fran çais.
tfe
On 2009-05-08, Paul wrote:
Bonjour,
J'ai un texte pour lequel je souhaite trouver la distance (en nombre de mots) entre 2 mots. Exemple : le texte est le suivant : "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam sem nisl, sodales ut molestie quis, rhoncus vitae urna. Sed rutrum varius dolor a dapibus."
Je demande au script d'avoir (peu importe la forme tableau, hash, etc...) la distance entre le mot "dolor" et le mot "Etiam" ; et il me ressors : 5 (car 5 mots séparent les 2 mots demandés) et 12 (car le mot "dolor" est présent 2 fois).
J'ai pas trouvé de librairie sur cpan...
Bonjour,
Une autre idée de script:
#!/usr/bin/perl
$ligne = "mot1 mot2 mot3 mot4";
if($ligne=~ /bmot1bW+(.*?)W+bmot4b/) { print "Nombre de mots entre: ".scalar split(/W/,$1)."n"; }
En esperant que cela t'aidera...
-- tfe htp://tfeserver.be
On 2009-05-08, Paul <ernond_paul@yahoo.fr> wrote:
Bonjour,
J'ai un texte pour lequel je souhaite trouver la distance (en nombre
de mots) entre 2 mots.
Exemple : le texte est le suivant :
"Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam sem
nisl, sodales ut molestie quis, rhoncus vitae urna. Sed rutrum varius
dolor a dapibus."
Je demande au script d'avoir (peu importe la forme tableau, hash,
etc...) la distance entre le mot "dolor" et le mot "Etiam" ; et il me
ressors : 5 (car 5 mots séparent les 2 mots demandés) et 12 (car le
mot "dolor" est présent 2 fois).
J'ai pas trouvé de librairie sur cpan...
Bonjour,
Une autre idée de script:
#!/usr/bin/perl
$ligne = "mot1 mot2 mot3 mot4";
if($ligne=~ /bmot1bW+(.*?)W+bmot4b/)
{
print "Nombre de mots entre: ".scalar split(/W/,$1)."n";
}
J'ai un texte pour lequel je souhaite trouver la distance (en nombre de mots) entre 2 mots. Exemple : le texte est le suivant : "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam sem nisl, sodales ut molestie quis, rhoncus vitae urna. Sed rutrum varius dolor a dapibus."
Je demande au script d'avoir (peu importe la forme tableau, hash, etc...) la distance entre le mot "dolor" et le mot "Etiam" ; et il me ressors : 5 (car 5 mots séparent les 2 mots demandés) et 12 (car le mot "dolor" est présent 2 fois).
J'ai pas trouvé de librairie sur cpan...
Bonjour,
Une autre idée de script:
#!/usr/bin/perl
$ligne = "mot1 mot2 mot3 mot4";
if($ligne=~ /bmot1bW+(.*?)W+bmot4b/) { print "Nombre de mots entre: ".scalar split(/W/,$1)."n"; }