Bonjour,
Je voudrais compter le nombre de 0 dans une chaîne de caractère.
Quelqu'un saurait-il quelle fonction utiliser ?
Je vous remercie d'avance,
A bientôt,
Thibault
Bonjour,
Je voudrais compter le nombre de 0 dans une chaîne de caractère.
Quelqu'un saurait-il quelle fonction utiliser ?
Je vous remercie d'avance,
A bientôt,
Thibault
Une solution, en mixant length() et compress()
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 data test ; text = "ggdqgkmdskh" ; output ; text = "0000gdqsgdd" ; output ; text = "g0d0d0d0d0d" ; output ; text = "" ; output ; run ; data test ; set test ; nb_0 = length (text) - length(compress(text,"0")) ; put "text = " @8 text @20 "-> nb 0 = " nb_0 ; run ;
Utilise la fonction countc :
xav
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 data _NULL_; len = '0123346'; nbZero = countc(len, '0'); put len= nbZero=; len = '23346'; nbZero = countc(len, '0'); put len= nbZero=; len = '01233460'; nbZero = countc(len, '0'); put len= nbZero=; run;
La solution de xav(ier?) est indédinablement plus propre.
Pour se convaincre qu'elle marche bien, faut cependant dans l'étape data préciser
Sans quoi, pour "01233460", le dernier 0 est tronqué et le calcul affiche 1 zéro
Code : Sélectionner tout - Visualiser dans une fenêtre à part length len $8 ;
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager