[R] Compter une occurence dans un fichier texte

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
Avatar du membre
corrs78
Niveau 5
Niveau 5
Messages : 160
Enregistré le : lun. 13 août 2007 17:38
Localisation : Yvelines
Status : Hors ligne

[R] Compter une occurence dans un fichier texte

#1

Message par corrs78 »

Bonjour, ce n'est pas faut d'avoir cherché, que ce soit dans ce forum ou dans la doc d'autoit, je ne trouve plus comment compter dans un fichier texte, il me semblait qu'il y avait une fonction faite pour.

Je m'explique, je souhaite compter le nombre de fois qu'est trouvé ce caractère "|" dans une fichier texte nommé "b.tmp."

J'ai essayé de faire ça par expression régulière, mais ça se complique pas mal et mon niveau est un peu léger.

Merci d'avance pour votre aide.
Modifié en dernier par Tlem le jeu. 30 oct. 2008 20:50, modifié 2 fois.
Raison : Ajout de la balise [..] dans le titre
Avatar du membre
timmalos
Niveau 11
Niveau 11
Messages : 1970
Enregistré le : dim. 18 mai 2008 15:16
Status : Hors ligne

Re: Compter une occurence dans un fichier texte

#2

Message par timmalos »

Expressions regulières je ne connais pas, mais tu peux faire comme ca:

Code : Tout sélectionner

$file = "b.txt"
$lettre_a_compter = "b"
$compte = 0
$txt = FileRead($file)
$array = StringSplit($txt,"")


For $i = 1 to $array[0]
    If $lettre_a_compter= $array[$i] Then
    $compte = $compte + 1   
    EndIf   
Next    

MsgBox(64,"Lettre By Tim","La lettre " & $lettre_a_compter & " est apparu " & $compte & " fois dans le texte " & $file)
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11784
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Compter une occurence dans un fichier texte

#3

Message par Tlem »

Je ne suis pas fortiche en expression régulière, mais là c'est quand même le plus court chemin pour obtenir le résultat.

Code : Tout sélectionner

$String = 'Ceci est une chaine de test pour compter le nombre de lettre a !'

$array = StringRegExp($String, 'a', 3)

MsgBox(64, "Infos", "Il y à " & UBound($array) & " fois la lettre a dans la chaine : " & @CRLF & $String)
 
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Avatar du membre
corrs78
Niveau 5
Niveau 5
Messages : 160
Enregistré le : lun. 13 août 2007 17:38
Localisation : Yvelines
Status : Hors ligne

Re: [..] Compter une occurence dans un fichier texte

#4

Message par corrs78 »

Merci beaucoup messieurs.
Avatar du membre
corrs78
Niveau 5
Niveau 5
Messages : 160
Enregistré le : lun. 13 août 2007 17:38
Localisation : Yvelines
Status : Hors ligne

Re: [R] Compter une occurence dans un fichier texte

#5

Message par corrs78 »

Je viens de tester, ta méthode Tlem fonctionne avec des lettres comme "a", mais je dois compter le nombre de "|" (il me semble que ce caractère s'appelle "pipe"). (ALTGr + 6)

et là ça ne fonctionne pas j'obtiens la réponse "1"

L'aide d'autoit sur les expressions régulières n'est pas associée à bcq d'exemples.


Merci.
ani
Niveau 11
Niveau 11
Messages : 1826
Enregistré le : lun. 23 juil. 2007 12:31
Localisation : Bureau
Status : Hors ligne

Re: [R] Compter une occurence dans un fichier texte

#6

Message par ani »

bonjour :)
y a plusieur manière, expression /stringsplit/stringreplace ect..
Au niveau de l'expression régulière indiquez à la place de 'a' ceci '[|]'

Exemple
► Afficher le texte
bonne continuation ;)
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11784
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [R] Compter une occurence dans un fichier texte

#7

Message par Tlem »

Il y a ceci aussi :

Code : Tout sélectionner

$array = StringRegExp($String, '\x7C', 3)  ; \x7C signifie code hexa du caractère ASCII |
Quel embarras du choix. :lol:
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Répondre