OVH Cloud OVH Cloud

Compter le nombre de mots dans une phrase ?

14 réponses
Avatar
nimzo
Bonjour à tous,

je veux compter combien il y a de mots dans chaque phrase d'un texte.

Je n'arrive pas a construire une expression régulière pour le faire.

Comment compter le nombre de mots entre les deux points qui délimitent
la phrase ?

Je n'ai pas besoin de tenir compte des cas spéciaux (ex. phrase qui se
termine par ...)

Quelqu'un pourraît-il m'aider?

Je suis pas mal nouveau avec Perl !

Merci

Gilles

10 réponses

1 2
Avatar
Jean-Philippe Granchi
Hello,

Gilles wrote:
Comment compter le nombre de mots entre les deux points qui délimitent
la phrase ?


Oh ! tu refuses de faire tes devoirs ?
je me permets de ne pas te donner la solution complete, mais juste un
truc compte les blancs ...

Hope...
Jean-Philippe

Avatar
root
On Thu, 08 Jan 2004 11:49:28 -0800, Gilles wrote:

Bonjour à tous,

je veux compter combien il y a de mots dans chaque phrase d'un texte.

Je n'arrive pas a construire une expression régulière pour le faire.

Comment compter le nombre de mots entre les deux points qui délimitent
la phrase ?



C'est pas si simple que ça comme question... Il faudrait spécifier
qu'est ce que tu considères comme un mot... tout ce qui est séparé par
un ou plusieurs espaces ?

while( $phrase =~ m/[^s]+s*/g ) {
$compte++;
print "mot=$&n";
}

Avatar
Gilles
Jean-Philippe Granchi wrote:
Hello,

Gilles wrote:

Comment compter le nombre de mots entre les deux points qui délimitent
la phrase ?



Oh ! tu refuses de faire tes devoirs ?
je me permets de ne pas te donner la solution complete, mais juste un
truc compte les blancs ...

Hope...
Jean-Philippe



J'aimerais bien avoir encore l'âge ou on fait des devoirs
scolaire. Malheureusement c'est révolu depuis des lustres.
Mais j'ai gardé la curiosité de mes jeunes années et
j'essaie encore d'apprendre des choses. A 57 ans c'est
amusant de se faire traiter de jeunot !

:-)

Gilles


Avatar
Gilles
root wrote:
On Thu, 08 Jan 2004 11:49:28 -0800, Gilles wrote:

Bonjour à tous,
je veux compter combien il y a de mots dans chaque phrase d'un texte.
Je n'arrive pas a construire une expression régulière pour le faire.
Comment compter le nombre de mots entre les deux points qui délimitent
la phrase ?


C'est pas si simple que ça comme question... Il faudrait spécifier
qu'est ce que tu considères comme un mot... tout ce qui est séparé par
un ou plusieurs espaces ?

while( $phrase =~ m/[^s]+s*/g ) {
$compte++;
print "mot=$&n";
}



Merci. Je veux juste faire des statistiques (sommaires) sur
des textes écrits. Un mot ça peut très bien être définie
comme étant séparé par des espaces dans le cas qui
m'intéresse. Je vais essayer votre solution, merci encore.

Gilles


Avatar
Arnaud
Il faut penser aussi aux ponctuations ... le méta caractère b me parait
nécessaire (b est un séparateur de non mot).

Je te propose : /b(w+)b/
en itérant dessus avec les variables $`.

Arnaud.

"root" a écrit dans le message de
news:
On Thu, 08 Jan 2004 11:49:28 -0800, Gilles wrote:

Bonjour à tous,

je veux compter combien il y a de mots dans chaque phrase d'un texte.

Je n'arrive pas a construire une expression régulière pour le faire.

Comment compter le nombre de mots entre les deux points qui délimitent
la phrase ?



C'est pas si simple que ça comme question... Il faudrait spécifier
qu'est ce que tu considères comme un mot... tout ce qui est séparé par
un ou plusieurs espaces ?

while( $phrase =~ m/[^s]+s*/g ) {
$compte++;
print "mot=$&n";
}




Avatar
jl_morel
Dans l'article ,
a dit...

je veux compter combien il y a de mots dans chaque phrase d'un texte.

Je n'arrive pas a construire une expression régulière pour le faire.

Comment compter le nombre de mots entre les deux points qui délimitent
la phrase ?

Je n'ai pas besoin de tenir compte des cas spéciaux (ex. phrase qui se
termine par ...)



Pour trouver le nombre de mots dans $phrase je propose :

my $nbre_mots = () = $phrase =~ /S+/g;


--
J-L.M.

Avatar
Jean-Philippe Granchi
Gilles wrote:

Jean-Philippe Granchi wrote:

Hello,

Gilles wrote:

Comment compter le nombre de mots entre les deux points qui délimitent
la phrase ?




Oh ! tu refuses de faire tes devoirs ?
je me permets de ne pas te donner la solution complete, mais juste un
truc compte les blancs ...

Hope...
Jean-Philippe



J'aimerais bien avoir encore l'âge ou on fait des devoirs scolaire.
Malheureusement c'est révolu depuis des lustres. Mais j'ai gardé la
curiosité de mes jeunes années et j'essaie encore d'apprendre des
choses. A 57 ans c'est amusant de se faire traiter de jeunot !


Bof, je te confirme il n'y a pas d'age pour faire des devoirs,
l'apprentissage continu dans le domaine qui nous rassemble est chose
commune.

bon allez c'est a celui qui fera le plus court ?

$words = 0;
while ( <> ) {

@words = split(' ', $_);
$words += scalar(@words);
}
print "$wordsn";


...
Jean-Philippe



Avatar
Gilles
Salutations,

J'ai peut-être mal expliqué mon problème.
Je veux trouver combien il y a de mots DANS CHAQUE PHRASE.

Exemple de texte:
"Correcteur 101 a vu le jour comme correcteur grammatical en
octobre 1992. On l'a baptisé ainsi à cause de la loi 101
instaurée au Québec pour préserver la langue française. La
version 3 du Correcteur 101 est disponible depuis décembre
1996. Sa mission s'est élargie pour devenir davantage celle
d'un outil d'aide à l'écriture. Grâce à de nouvelles
fonctions, chaque utilisateur peut choisir le type de
correction en fonction de son niveau de connaissance ou du
genre de document qu'il produit. On a aussi standardisé
l'interface du Correcteur 101 pour PC et Mac."

Je veux compter les mots dans chaque phrase :

La première phrase a : 12 mots
La deuxième phrase a : 18 mots
La troisiàme phrase a : 11 mots
La quatrième phrase a : 13 mots
etc.

Merci

Gilles



Arnaud wrote:

Il faut penser aussi aux ponctuations ... le méta caractère b me parait
nécessaire (b est un séparateur de non mot).

Je te propose : /b(w+)b/
en itérant dessus avec les variables $`.

Arnaud.

"root" a écrit dans le message de
news:

On Thu, 08 Jan 2004 11:49:28 -0800, Gilles wrote:


Bonjour à tous,

je veux compter combien il y a de mots dans chaque phrase d'un texte.

Je n'arrive pas a construire une expression régulière pour le faire.

Comment compter le nombre de mots entre les deux points qui délimitent
la phrase ?



C'est pas si simple que ça comme question... Il faudrait spécifier
qu'est ce que tu considères comme un mot... tout ce qui est séparé par
un ou plusieurs espaces ?

while( $phrase =~ m/[^s]+s*/g ) {
$compte++;
print "mot=$&n";
}









Avatar
Gilles
Oups j'ai placé ma réponse à votre message dans l'enfilade
avec Jean-Philippe.

Gilles


Arnaud wrote:

Il faut penser aussi aux ponctuations ... le méta caractère b me parait
nécessaire (b est un séparateur de non mot).

Je te propose : /b(w+)b/
en itérant dessus avec les variables $`.

Arnaud.

"root" a écrit dans le message de
news:

On Thu, 08 Jan 2004 11:49:28 -0800, Gilles wrote:


Bonjour à tous,

je veux compter combien il y a de mots dans chaque phrase d'un texte.

Je n'arrive pas a construire une expression régulière pour le faire.

Comment compter le nombre de mots entre les deux points qui délimitent
la phrase ?



C'est pas si simple que ça comme question... Il faudrait spécifier
qu'est ce que tu considères comme un mot... tout ce qui est séparé par
un ou plusieurs espaces ?

while( $phrase =~ m/[^s]+s*/g ) {
$compte++;
print "mot=$&n";
}









Avatar
dominix
Jean-Philippe Granchi wrote:
Gilles wrote:

Jean-Philippe Granchi wrote:

Hello,

Gilles wrote:

Comment compter le nombre de mots entre les deux points qui
délimitent la phrase ?






bon allez c'est a celui qui fera le plus court ?

$words = 0;
while ( <> ) {

@words = split(' ', $_);
$words += scalar(@words);
}
print "$wordsn";



je repete "entre les deux points qui délimitent la phrase"


cat txt
Correcteur 101 a vu le jour comme correcteur grammatical en
octobre 1992. On l'a baptisé ainsi à cause de la loi 101
instaurée au Québec pour préserver la langue française. La
version 3 du Correcteur 101 est disponible depuis décembre
1996. Sa mission s'est élargie pour devenir davantage celle
d'un outil d'aide à l'écriture. Grâce à de nouvelles
fonctions, chaque utilisateur peut choisir le type de
correction en fonction de son niveau de connaissance ou du
genre de document qu'il produit. On a aussi standardisé
l'interface du Correcteur 101 pour PC et Mac.
pastis tmp #
pastis tmp # perl -n00laF'.' -e 'END{for(@F){print $x=()=/S+/gsm}}' txt
12

18

11

13

27

12

pastis tmp #

qui dit mieux ?




1 2