Statistiques

Le
Guillaume Connan
Bonjour,
j'aurais besoin de compter le nombre de répliques de personnages dans
une pièce de théâtre. Existe-t-il un moyen de compter l'apparition
d'un certain Mot ?
Sinon, je suis en mode auto-fill mais le texte est au fer à gauche au
lieu d'être justifié.
Merci

--
Guillaume Connan

http://gconnan.free.fr
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Matthieu Moy
Le #21784431
Guillaume Connan
Sinon, je suis en mode auto-fill mais le texte est au fer à gauche au
lieu d'être justifié.



http://www-verimag.imag.fr/~moy/emacs/#autofill

--
Matthieu
rixed
Le #21760891
On 2007-07-04, Guillaume Connan
j'aurais besoin de compter le nombre de répliques de personnages dans
une pièce de théâtre. Existe-t-il un moyen de compter l'apparition
d'un certain Mot ?



Version shell, en attendant la réponse d'un emacseu natif :

sed 's/[ t]/n/g' | grep -i Tartuffe |wc -l

(avec gnu sed)

Note que ça ne fonctionne pas avec "Dom Juan".
Jacques L'helgoualc'h
Le #21760871
Le 06-07-2007, a écrit :
On 2007-07-04, Guillaume Connan wrote:
j'aurais besoin de compter le nombre de répliques de personnages dans
une pièce de théâtre. Existe-t-il un moyen de compter l'apparition
d'un certain Mot ?



Version shell, en attendant la réponse d'un emacseu natif :

sed 's/[ t]/n/g' | grep -i Tartuffe |wc -l



Grep sait compter les « mots », pas besoin de wc :

grep -icw Tartuffe

(avec gnu sed)



Sed peut le faire tout seul,

sed -n 's/<Tartuffe>/&n/ig;s/n[^n]*$//p' <texte | sed -n '$='

Voir « info sed », émulations de wc, pour compter en une seule passe.

Note que ça ne fonctionne pas avec "Dom Juan".



Sed, oui --- et il ne compte pas « tartufferie » :P
--
Jacques L'helgoualc'h
Ph. Ivaldi
Le #21760851
Le 04 juillet 2007, Guillaume Connan écrivit :

Bonjour,



Salut,

J'avais oublié ton message...

j'aurais besoin de compter le nombre de répliques de personnages dans
une pièce de théâtre. Existe-t-il un moyen de compter l'apparition
d'un certain Mot ?



Vite fait, avant de me lancer la "fontification":

(defun count-word (s)
(interactive "sNombre d'occurrence du *mot*: ")
(save-excursion
(beginning-of-buffer)
(message
(concat (number-to-string (count-matches
(concat "\( +\|^\)"s"\( +\|$\)")))
" occurence(s) trouvée(s)"))))

@+,
--
Philippe Ivaldi.
http://piprim.tuxfamily.org/
Jacques L'helgoualc'h
Le #21760811
Le 06-07-2007, Ph Ivaldi [...]
Vite fait, avant de me lancer la "fontification":

(defun count-word (s)
(interactive "sNombre d'occurrence du *mot*: ")
(save-excursion
(beginning-of-buffer)
(message
(concat (number-to-string (count-matches
(concat "\( +\|^\)"s"\( +\|$\)")))
" occurence(s) trouvée(s)"))))



Chez moi ça plante, le résultat de la fonction count-matches est déjà de
type string, à la "42 occurences".

Pour la regexp, à la fin d'un mot on peut aussi trouver une ponctuation
basse, une tabulation, un espace insécable, etc.

(defun count-word (s)
(interactive "sNombre d'occurrence du *mot*: ")
(save-excursion
(beginning-of-buffer)
(message
(concat
(count-matches
(concat "\<" s "\>"))
" trouvées"))))

J'ai la flemme de gérer le cas du singulier...
--
Jacques L'helgoualc'h
Ph. Ivaldi
Le #21760801
Le 07 juillet 2007, Jacques L'helgoualc'h écrivit :

Chez moi ça plante, le résultat de la fonction count-matches est déjà
de type string,



Bizarre... on ne doit pas avoir la même version de 'replace.el'.

C-h f count-matches <ret>
,----
| count-matches is an alias for `how-many' in `replace.el'.
| (count-matches REGEXP &optional RSTART REND INTERACTIVE)
|
| Print and return number of matches for REGEXP following point.
`---- ^^^^^^^^^^^^^

Pour la regexp, à la fin d'un mot on peut aussi trouver une
ponctuation basse, une tabulation, un espace insécable, etc.
"\<" s "\>"



Exact, je ne sais pas où j'avais la tête.

J'ai la flemme de gérer le cas du singulier...



Il faut en laisser pour Guillaume :-)
--
Philippe Ivaldi.
http://piprim.tuxfamily.org/
Jacques L'helgoualc'h
Le #21760791
Le 07-07-2007, Ph Ivaldi a écrit :
Le 07 juillet 2007, Jacques L'helgoualc'h écrivit :

Chez moi ça plante, le résultat de la fonction count-matches est déjà
de type string,



Bizarre... on ne doit pas avoir la même version de 'replace.el'.

C-h f count-matches <ret>
,----
| count-matches is an alias for `how-many' in `replace.el'.
| (count-matches REGEXP &optional RSTART REND INTERACTIVE)
|
| Print and return number of matches for REGEXP following point.
`---- ^^^^^^^^^^^^^



Ah oui, moi j'ai (GNU Emacs 21.4.1 (...) of 2007-06-19 on ninsei,
modified by Debian (Etch))

,----
| count-matches is an alias for `how-many' in `replace'.
| (count-matches REGEXP &optional RSTART REND)
|
| Print number of matches for REGEXP following point.
`----

et la dernière ligne de la fonction « how-many » est
(message "%d occurrences" count))))

À noter aussi, la regexp est sensible à la casse quand elle contient des
majuscules...

[...]
J'ai la flemme de gérer le cas du singulier...



Il faut en laisser pour Guillaume :-)



;)

--
Jacques L'helgoualc'h
Publicité
Poster une réponse
Anonyme