Page 1 sur 1

[R] Compter une occurence dans un fichier texte

Posté : jeu. 30 oct. 2008 12:27
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.

Re: Compter une occurence dans un fichier texte

Posté : jeu. 30 oct. 2008 15:48
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)

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

Posté : jeu. 30 oct. 2008 19:47
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)
 

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

Posté : jeu. 30 oct. 2008 20:43
par corrs78
Merci beaucoup messieurs.

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

Posté : ven. 31 oct. 2008 14:59
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.

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

Posté : ven. 31 oct. 2008 15:04
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 ;)

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

Posté : ven. 31 oct. 2008 21:53
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: