Batch Index du Forum
S’enregistrerRechercherFAQMembresGroupesConnexion
Répondre au sujet Page 1 sur 1
[Résolu]compter le nombre de lettres
Auteur Message
Répondre en citant
Message [Résolu]compter le nombre de lettres 
bonjour

comment compter les lettres d'une chaîne de caractères ?

par exemple

Code:
set machaine=je suis jojo


je veux une sortie:

Code:
j = 3
e = 1
s = 2
u = 1
i = 1
o = 2


donc compter le nombre de chaque lettre d'une chaine de caractères

une idée ?



Message Publicité 
PublicitéSupprimer les publicités ?


Répondre en citant
Message [Résolu]compter le nombre de lettres 
j'ai pas trouvé la réponse:
Code:

set machaine=jojo

for %%a in ( %jojo% ) do (
        if "%%a=="j" echo %%a
        if "%%a"=="o" echo %%a
)

vous pouvez m'aider svp



Répondre en citant
Message [Résolu]compter le nombre de lettres 
Salut !

Y a quelque chose que je comprend pas ; Si ta chaine est 'je suis jojo', ca ne doit pas etre :
Code:
j = 1
e = 2
  = 3
s = 4
...




Répondre en citant
Message [Résolu]compter le nombre de lettres 
Bonjour
je pense que tu dois t'inspirer de ceci pour détecter les lettres et pour les compter utilise set /a

http://batch.xoo.it/redirect1/http://batch.xoo.it/t407-l33t-5p34k-3nc0d4g3-…




______________________________________________________
Faites paraitre votre batch sur BatchClipboard
Visiter le site web du posteur
Répondre en citant
Message [Résolu]compter le nombre de lettres 
merci pour vos réponses,

c'est de ma faute j'ai pas bien expliquer..alors reprenons de nouveau:
je veux compter le nombre de fois qu'une lettre s'affiche dans une chaîne de caractères, et non pas le nombre total de lettres

voici quelques exemples:


jojo

ça fait:
Code:
"2" fois la lettre "o"
"2" fois la lettre "j"


zorro

ça fait:

Code:
"2" fois la lettre "o"
"2" fois la lettre "r"
"1" fois la lettre "z"


je suis jojo
Code:

"3" fois la lettre "j"
"1" fois la lettre "e"
"2" fois la lettre "s"
"1" fois la lettre "u"
"1" fois la lettre "i"
"2" fois la lettre "o"


ça doit être clair maintenant Smile



Répondre en citant
Message [Résolu]compter le nombre de lettres 
Salut,

Je viens de tester avec la methode de Batchapp, sans succès ... Crying or Very sad

j'ai testé une autre astuce qui fonctionne mais plus longue:
Par contre je n'ai pas eu le temps de gérer les "espaces", j'ai remplacé par des _ Mr. Green



Code:

@echo off

set j=0
set e=0
set s=0
set u=0
set i=0
set o=0

set TEXTE=je_suis_jojo

set LETTRE=%TEXTE:~0,1%
call :TRY
set LETTRE=%TEXTE:~1,1%
call :TRY
set LETTRE=%TEXTE:~2,1%
call :TRY
set LETTRE=%TEXTE:~3,1%
call :TRY
set LETTRE=%TEXTE:~4,1%
call :TRY
set LETTRE=%TEXTE:~5,1%
call :TRY
set LETTRE=%TEXTE:~6,1%
call :TRY
set LETTRE=%TEXTE:~7,1%
call :TRY
set LETTRE=%TEXTE:~8,1%
call :TRY
set LETTRE=%TEXTE:~9,1%
call :TRY
set LETTRE=%TEXTE:~10,1%
call :TRY
set LETTRE=%TEXTE:~11,1%
call :TRY

echo j = %j%
echo e = %e%
echo s = %s%
echo u = %u%
echo i = %i%
echo o = %o%

pause>nul
exit

:TRY
if /i %LETTRE%==j set /a j=j+1
if /i %LETTRE%==e set /a e=e+1
if /i %LETTRE%==s set /a s=s+1
if /i %LETTRE%==u set /a u=u+1
if /i %LETTRE%==i set /a i=i+1
if /i %LETTRE%==o set /a o=o+1
goto :EOF





______________________________________________________


L'ignorance est un fléau qui engendre la haine et la mort
La connaissance est une arme qui surpasse toutes les autres
Partagez votre savoir, sinon il sera perdu à jamais
Répondre en citant
Message [Résolu]compter le nombre de lettres 
merci pour votre temps,

nous y sommes presque stryk !! en definitif je voudais faire ceci:

Code:
@echo off

echo entrez une chaine de caracteres:
set /p tonchoix=

set TEXTE=%tonchoix%

set LETTRE=%TEXTE:~0,1%
call :TRY
set LETTRE=%TEXTE:~1,1%
call :TRY
set LETTRE=%TEXTE:~2,1%
call :TRY
set LETTRE=%TEXTE:~3,1%
call :TRY
set LETTRE=%TEXTE:~4,1%
call :TRY
set LETTRE=%TEXTE:~5,1%
call :TRY
set LETTRE=%TEXTE:~6,1%
call :TRY
set LETTRE=%TEXTE:~7,1%
call :TRY
set LETTRE=%TEXTE:~8,1%
call :TRY
set LETTRE=%TEXTE:~9,1%
call :TRY
set LETTRE=%TEXTE:~10,1%
call :TRY
set LETTRE=%TEXTE:~11,1%
call :TRY

echo j = %j%
echo e = %e%
echo s = %s%
echo u = %u%
echo i = %i%
echo o = %o%

pause>nul
exit

:TRY
if /i %LETTRE%==j set /a j=j+1
if /i %LETTRE%==e set /a e=e+1
if /i %LETTRE%==s set /a s=s+1
if /i %LETTRE%==u set /a u=u+1
if /i %LETTRE%==i set /a i=i+1
if /i %LETTRE%==o set /a o=o+1
goto :EOF

comment laisser l'utilisateur choisir une chaine de caractere puis compter chaque lettre à part



Répondre en citant
Message [Résolu]compter le nombre de lettres 
RE,

Voici donc le code qu'il te faut .... Wink

Code:

@echo off

set a=0
set b=0
set c=0
set d=0
set e=0
set f=0
set g=0
set h=0
set i=0
set j=0
set k=0
set l=0
set m=0
set n=0
set o=0
set p=0
set q=0
set r=0
set s=0
set t=0
set u=0
set v=0
set w=0
set x=0
set y=0
set z=0

echo Entrez votre texte sans espace svp ( ou remplacez par des _ )
echo Maxi. 20 caracteres !
echo.
set /p TEXTE=\\:

set LETTRE=%TEXTE:~0,1%
if not defined LETTRE goto :END_TRY
call :TRY
set LETTRE=%TEXTE:~1,1%
if not defined LETTRE goto :END_TRY
call :TRY
set LETTRE=%TEXTE:~2,1%
if not defined LETTRE goto :END_TRY
call :TRY
set LETTRE=%TEXTE:~3,1%
if not defined LETTRE goto :END_TRY
call :TRY
set LETTRE=%TEXTE:~4,1%
if not defined LETTRE goto :END_TRY
call :TRY
set LETTRE=%TEXTE:~5,1%
if not defined LETTRE goto :END_TRY
call :TRY
set LETTRE=%TEXTE:~6,1%
if not defined LETTRE goto :END_TRY
call :TRY
set LETTRE=%TEXTE:~7,1%
if not defined LETTRE goto :END_TRY
call :TRY
set LETTRE=%TEXTE:~8,1%
if not defined LETTRE goto :END_TRY
call :TRY
set LETTRE=%TEXTE:~9,1%
if not defined LETTRE goto :END_TRY
call :TRY
set LETTRE=%TEXTE:~10,1%
if not defined LETTRE goto :END_TRY
call :TRY
set LETTRE=%TEXTE:~11,1%
if not defined LETTRE goto :END_TRY
call :TRY
set LETTRE=%TEXTE:~12,1%
if not defined LETTRE goto :END_TRY
call :TRY
set LETTRE=%TEXTE:~13,1%
if not defined LETTRE goto :END_TRY
call :TRY
set LETTRE=%TEXTE:~14,1%
if not defined LETTRE goto :END_TRY
call :TRY
set LETTRE=%TEXTE:~15,1%
if not defined LETTRE goto :END_TRY
call :TRY
set LETTRE=%TEXTE:~16,1%
if not defined LETTRE goto :END_TRY
call :TRY
set LETTRE=%TEXTE:~17,1%
if not defined LETTRE goto :END_TRY
call :TRY
set LETTRE=%TEXTE:~18,1%
if not defined LETTRE goto :END_TRY
call :TRY
set LETTRE=%TEXTE:~19,1%
if not defined LETTRE goto :END_TRY
call :TRY

:END_TRY

echo.
if %a% GTR 0 echo Nombre de "a" = %a%
if %b% GTR 0 echo Nombre de "b" = %b%
if %c% GTR 0 echo Nombre de "c" = %c%
if %d% GTR 0 echo Nombre de "d" = %d%
if %e% GTR 0 echo Nombre de "e" = %e%
if %f% GTR 0 echo Nombre de "f" = %f%
if %g% GTR 0 echo Nombre de "g" = %g%
if %h% GTR 0 echo Nombre de "h" = %h%
if %i% GTR 0 echo Nombre de "i" = %i%
if %j% GTR 0 echo Nombre de "j" = %j%
if %k% GTR 0 echo Nombre de "k" = %k%
if %l% GTR 0 echo Nombre de "l" = %l%
if %m% GTR 0 echo Nombre de "m" = %m%
if %n% GTR 0 echo Nombre de "n" = %n%
if %o% GTR 0 echo Nombre de "o" = %o%
if %p% GTR 0 echo Nombre de "p" = %p%
if %q% GTR 0 echo Nombre de "q" = %q%
if %r% GTR 0 echo Nombre de "r" = %r%
if %s% GTR 0 echo Nombre de "s" = %s%
if %t% GTR 0 echo Nombre de "t" = %t%
if %u% GTR 0 echo Nombre de "u" = %u%
if %v% GTR 0 echo Nombre de "v" = %v%
if %w% GTR 0 echo Nombre de "w" = %w%
if %x% GTR 0 echo Nombre de "x" = %x%
if %y% GTR 0 echo Nombre de "y" = %y%
if %z% GTR 0 echo Nombre de "z" = %z%

pause>nul
exit

:TRY
if /i %LETTRE%==a set /a a=a+1
if /i %LETTRE%==b set /a b=b+1
if /i %LETTRE%==c set /a c=c+1
if /i %LETTRE%==d set /a d=d+1
if /i %LETTRE%==e set /a e=e+1
if /i %LETTRE%==f set /a f=f+1
if /i %LETTRE%==g set /a g=g+1
if /i %LETTRE%==h set /a h=h+1
if /i %LETTRE%==i set /a i=i+1
if /i %LETTRE%==j set /a j=j+1
if /i %LETTRE%==k set /a k=k+1
if /i %LETTRE%==l set /a l=l+1
if /i %LETTRE%==m set /a m=m+1
if /i %LETTRE%==n set /a n=n+1
if /i %LETTRE%==o set /a o=o+1
if /i %LETTRE%==p set /a p=p+1
if /i %LETTRE%==q set /a q=q+1
if /i %LETTRE%==r set /a r=r+1
if /i %LETTRE%==s set /a s=s+1
if /i %LETTRE%==t set /a t=t+1
if /i %LETTRE%==u set /a u=u+1
if /i %LETTRE%==v set /a v=v+1
if /i %LETTRE%==w set /a w=w+1
if /i %LETTRE%==x set /a x=x+1
if /i %LETTRE%==y set /a y=y+1
if /i %LETTRE%==z set /a z=z+1
goto :EOF





______________________________________________________


L'ignorance est un fléau qui engendre la haine et la mort
La connaissance est une arme qui surpasse toutes les autres
Partagez votre savoir, sinon il sera perdu à jamais
Répondre en citant
Message [Résolu]compter le nombre de lettres 
stryk a écrit:
RE,

Voici donc le code qu'il te faut .... Wink

Code:

@echo off

set a=0
set b=0
set c=0
set d=0
set e=0
set f=0
set g=0
set h=0
set i=0
set j=0
set k=0
set l=0
set m=0
set n=0
set o=0
set p=0
set q=0
set r=0
set s=0
set t=0
set u=0
set v=0
set w=0
set x=0
set y=0
set z=0

echo Entrez votre texte sans espace svp ( ou remplacez par des _ )
echo Maxi. 20 caracteres !
echo.
set /p TEXTE=\\:

set LETTRE=%TEXTE:~0,1%
if not defined LETTRE goto :END_TRY
call :TRY
set LETTRE=%TEXTE:~1,1%
if not defined LETTRE goto :END_TRY
call :TRY
set LETTRE=%TEXTE:~2,1%
if not defined LETTRE goto :END_TRY
call :TRY
set LETTRE=%TEXTE:~3,1%
if not defined LETTRE goto :END_TRY
call :TRY
set LETTRE=%TEXTE:~4,1%
if not defined LETTRE goto :END_TRY
call :TRY
set LETTRE=%TEXTE:~5,1%
if not defined LETTRE goto :END_TRY
call :TRY
set LETTRE=%TEXTE:~6,1%
if not defined LETTRE goto :END_TRY
call :TRY
set LETTRE=%TEXTE:~7,1%
if not defined LETTRE goto :END_TRY
call :TRY
set LETTRE=%TEXTE:~8,1%
if not defined LETTRE goto :END_TRY
call :TRY
set LETTRE=%TEXTE:~9,1%
if not defined LETTRE goto :END_TRY
call :TRY
set LETTRE=%TEXTE:~10,1%
if not defined LETTRE goto :END_TRY
call :TRY
set LETTRE=%TEXTE:~11,1%
if not defined LETTRE goto :END_TRY
call :TRY
set LETTRE=%TEXTE:~12,1%
if not defined LETTRE goto :END_TRY
call :TRY
set LETTRE=%TEXTE:~13,1%
if not defined LETTRE goto :END_TRY
call :TRY
set LETTRE=%TEXTE:~14,1%
if not defined LETTRE goto :END_TRY
call :TRY
set LETTRE=%TEXTE:~15,1%
if not defined LETTRE goto :END_TRY
call :TRY
set LETTRE=%TEXTE:~16,1%
if not defined LETTRE goto :END_TRY
call :TRY
set LETTRE=%TEXTE:~17,1%
if not defined LETTRE goto :END_TRY
call :TRY
set LETTRE=%TEXTE:~18,1%
if not defined LETTRE goto :END_TRY
call :TRY
set LETTRE=%TEXTE:~19,1%
if not defined LETTRE goto :END_TRY
call :TRY

:END_TRY

echo.
if %a% GTR 0 echo Nombre de "a" = %a%
if %b% GTR 0 echo Nombre de "b" = %b%
if %c% GTR 0 echo Nombre de "c" = %c%
if %d% GTR 0 echo Nombre de "d" = %d%
if %e% GTR 0 echo Nombre de "e" = %e%
if %f% GTR 0 echo Nombre de "f" = %f%
if %g% GTR 0 echo Nombre de "g" = %g%
if %h% GTR 0 echo Nombre de "h" = %h%
if %i% GTR 0 echo Nombre de "i" = %i%
if %j% GTR 0 echo Nombre de "j" = %j%
if %k% GTR 0 echo Nombre de "k" = %k%
if %l% GTR 0 echo Nombre de "l" = %l%
if %m% GTR 0 echo Nombre de "m" = %m%
if %n% GTR 0 echo Nombre de "n" = %n%
if %o% GTR 0 echo Nombre de "o" = %o%
if %p% GTR 0 echo Nombre de "p" = %p%
if %q% GTR 0 echo Nombre de "q" = %q%
if %r% GTR 0 echo Nombre de "r" = %r%
if %s% GTR 0 echo Nombre de "s" = %s%
if %t% GTR 0 echo Nombre de "t" = %t%
if %u% GTR 0 echo Nombre de "u" = %u%
if %v% GTR 0 echo Nombre de "v" = %v%
if %w% GTR 0 echo Nombre de "w" = %w%
if %x% GTR 0 echo Nombre de "x" = %x%
if %y% GTR 0 echo Nombre de "y" = %y%
if %z% GTR 0 echo Nombre de "z" = %z%

pause>nul
exit

:TRY
if /i %LETTRE%==a set /a a=a+1
if /i %LETTRE%==b set /a b=b+1
if /i %LETTRE%==c set /a c=c+1
if /i %LETTRE%==d set /a d=d+1
if /i %LETTRE%==e set /a e=e+1
if /i %LETTRE%==f set /a f=f+1
if /i %LETTRE%==g set /a g=g+1
if /i %LETTRE%==h set /a h=h+1
if /i %LETTRE%==i set /a i=i+1
if /i %LETTRE%==j set /a j=j+1
if /i %LETTRE%==k set /a k=k+1
if /i %LETTRE%==l set /a l=l+1
if /i %LETTRE%==m set /a m=m+1
if /i %LETTRE%==n set /a n=n+1
if /i %LETTRE%==o set /a o=o+1
if /i %LETTRE%==p set /a p=p+1
if /i %LETTRE%==q set /a q=q+1
if /i %LETTRE%==r set /a r=r+1
if /i %LETTRE%==s set /a s=s+1
if /i %LETTRE%==t set /a t=t+1
if /i %LETTRE%==u set /a u=u+1
if /i %LETTRE%==v set /a v=v+1
if /i %LETTRE%==w set /a w=w+1
if /i %LETTRE%==x set /a x=x+1
if /i %LETTRE%==y set /a y=y+1
if /i %LETTRE%==z set /a z=z+1
goto :EOF


c'est ça stryk.. Okay



Répondre en citant
Message [Résolu]compter le nombre de lettres 
Cool

Si tu n'as plus de modifications à apporter au code, tu peux noter "résolu" dans le sujet !

Pour information, tu avais déja tout pour finir ton code dès mon 1er post ...
Tu devrais chercher un peu plus par toi même, c'est ce qui te feras progresser Wink

@++




______________________________________________________


L'ignorance est un fléau qui engendre la haine et la mort
La connaissance est une arme qui surpasse toutes les autres
Partagez votre savoir, sinon il sera perdu à jamais
Répondre en citant
Message [Résolu]compter le nombre de lettres 
RE-

voir ceci, beaucoups mieux ^^ >> http://batch.xoo.it/t1189-Fonction-utile-pour-chaines-de-caracteres.htm






______________________________________________________


L'ignorance est un fléau qui engendre la haine et la mort
La connaissance est une arme qui surpasse toutes les autres
Partagez votre savoir, sinon il sera perdu à jamais
Répondre en citant
Message [Résolu]compter le nombre de lettres 
stryk a écrit:
RE-

voir ceci, beaucoups mieux ^^ >> http://batch.xoo.it/t1189-Fonction-utile-pour-chaines-de-caracteres.htm



merci stryk ça fonctionne à merveille Okay

Arrow c'est résolu



Message [Résolu]compter le nombre de lettres 


Montrer les messages depuis:
Répondre au sujet Page 1 sur 1
  



Index | créer un forum | Forum gratuit d’entraide | Annuaire des forums gratuits | Signaler une violation | Conditions générales d'utilisation
Copyright 2008 - 2016 // Batch