[ R ] Je cherche la fonction qui permet de calculer le nombre de caractères et mots contenus dans un fichier texte

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
Boulanza
Niveau 9
Niveau 9
Messages : 697
Enregistré le : mer. 31 juil. 2013 15:49
Status : Hors ligne

[ R ] Je cherche la fonction qui permet de calculer le nombre de caractères et mots contenus dans un fichier texte

#1

Message par Boulanza »

Bonjour tout le monde,
Je cherche la fonction et/ou script qui permet de calculer le nombre de caractères et le nombre de mots contenus dans un fichier texte.
Merci pour votre aide.
Cordialement.
Modifié en dernier par Boulanza le mer. 05 juil. 2023 00:29, modifié 1 fois.
Avatar du membre
jchd
AutoIt MVPs (MVP)
AutoIt MVPs (MVP)
Messages : 2273
Enregistré le : lun. 30 mars 2009 22:57
Localisation : Sud-Ouest de la France (43.622788,-1.260864)
Status : Hors ligne

Re: [ ] Je cherche la fonction qui permet de calculer le nombre de caractères et mots contenus dans un fichier texte

#2

Message par jchd »

Tout dépend de l'encodage du fichier et de ce qu'on considère comme "caractère" et "mot".

En page de code "simple", 1 octet = 1 caractère. Pour les pages de code "multibyte" (asiatiques, comme CJK, BIG5 et autres), c'est compliqué pour un occidental !

En Unicode UTF8 (qui est d'ailleurs aussi un jeu multibyte), UCS2 (utilisé par AutoIt), UTF16 ou UTF32, le nombre de caratères dépend de ce qu'on considère : chaque caractère du jeu Unicode ou des graphèmes, si on inclut les séparateurs et autres points de codes de contrôle (trait d'union conditionnel, sens d'écriture, divers marqueurs, etc.) et aussi la normalisation Unicode utilisée. Pour une introduction, voir cette page https://r12a.github.io/scripts/tutorial/part3.

Cette considération s'applique donc aussi sur ce qu'on doit considérer comme "mot".

On peut utiliser une regex plus ou moins complexe pour obtenir ce qu'on veut, mais il faut déjà s'entendre sur ces définitions.
La cryptographie d'aujourd'hui c'est le taquin plus l'électricité.
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [ ] Je cherche la fonction qui permet de calculer le nombre de caractères et mots contenus dans un fichier texte

#3

Message par mikell »

Très intéressant ce lien jc ... à te dégoûter du regex :mrgreen:
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Avatar du membre
jchd
AutoIt MVPs (MVP)
AutoIt MVPs (MVP)
Messages : 2273
Enregistré le : lun. 30 mars 2009 22:57
Localisation : Sud-Ouest de la France (43.622788,-1.260864)
Status : Hors ligne

Re: [ ] Je cherche la fonction qui permet de calculer le nombre de caractères et mots contenus dans un fichier texte

#4

Message par jchd »

C'est là qu'on voit toute l'utilité de la spécification \X de PCRE sans avoir à en gérer la complexité. C'est ce qui s'approche le plus de ce qu'on entend intuitivement pas "caractère".

Pour ce qui est des mots, il faut décider si MP3 est un mot, Z dans "génération Z", 2023 ou 1/2, ...

Il y a tout un monde magique à la racine de ce site, dédié à ces aspects d'Unicode et des multiples systèmes d'écriture de notre petite planète, plus quelques utilitaires en ligne bien sympas et surtout à jour. L'auteur fait partie du consortium Unicode et sait de quoi il parle. La doc officielle d'Unicode est peu digeste et à réserver aux spécialistes.
La cryptographie d'aujourd'hui c'est le taquin plus l'électricité.
Boulanza
Niveau 9
Niveau 9
Messages : 697
Enregistré le : mer. 31 juil. 2013 15:49
Status : Hors ligne

Re: [ ] Je cherche la fonction qui permet de calculer le nombre de caractères et mots contenus dans un fichier texte

#5

Message par Boulanza »

Bonsoir,
C'est très intéressons ces explications que j'ignore complètement. Merci infiniment Monsieur jchd pour ces informations.
Cordialement.
jpascal
Niveau 6
Niveau 6
Messages : 226
Enregistré le : jeu. 16 oct. 2008 16:21
Status : Hors ligne

Re: [ R ] Je cherche la fonction qui permet de calculer le nombre de caractères et mots contenus dans un fichier texte

#6

Message par jpascal »

Ce site est une véritable mine d'or.
Merci pour le lien. :-)
AutoIt 3.3.16.1 - AutoIt3Wrapper 21.316.1639.1
Avatar du membre
jchd
AutoIt MVPs (MVP)
AutoIt MVPs (MVP)
Messages : 2273
Enregistré le : lun. 30 mars 2009 22:57
Localisation : Sud-Ouest de la France (43.622788,-1.260864)
Status : Hors ligne

Re: [ R ] Je cherche la fonction qui permet de calculer le nombre de caractères et mots contenus dans un fichier texte

#7

Message par jchd »

Oui, un compendium bien utile et incomparablement plus accessible à nous autres non spécialistes que la volumineuse et très pointilleuse documentation officielle.
La cryptographie d'aujourd'hui c'est le taquin plus l'électricité.
Boulanza
Niveau 9
Niveau 9
Messages : 697
Enregistré le : mer. 31 juil. 2013 15:49
Status : Hors ligne

Re: [ R ] Je cherche la fonction qui permet de calculer le nombre de caractères et mots contenus dans un fichier texte

#8

Message par Boulanza »

Une des solutions

Code : Tout sélectionner

;Définir le nombre de caractères de toutes les lignes d'un fichier texte

		$file = FileOpen(@ScriptDir&"\Test.txt" , 0) 

        ; test si le fichier peut etre ouvert en lecture
        If $file = -1 Then
            MsgBox(0, "Erreur", "Impossible d'ouvrir le fichier")
            Exit
        EndIf

        $NbreCaractereTotal = 0

        ; Lecture du fichier ligne à ligne jusqu'au eof + compte du nombre de ligne
        While 1
            $line = FileReadLine($file)
            If @error = -1 Then ExitLoop
            $NbreCaractere = StringLen($line)   ;Définir le nombre de caractères de la dernière ligne.
            $NbreCaractereTotal = $NbreCaractereTotal + $NbreCaractere
            Wend
       msgbox(0,"",$NbreCaractereTotal)
	   ;msgbox(0,"",$NbreCaractere)
       FileClose($file)

Exit
Répondre