caratère

Sujets variés concernant le développement en PureBasic
Pierre
Messages : 244
Inscription : ven. 23/janv./2004 20:29
Localisation : 77 (Région parisienne)

caratère

Message par Pierre »

j'ai une chaine de caractère, avec des chiffres séparés par des virgules, donc j'aimerais savoir combien il y a de virgules dans la chaine de caractère
exemples:

10,9,6,23 il y a 3 virgules
1,20,39,4,8,3,7 il y a 6 virgules
10,20,3 il y a 2 virgules
...
...

donc est-ce-qu'il y a une commande pour ça???
si je suis pas clair vous me le dites!
Image
Dr. Dri
Messages : 2527
Inscription : ven. 23/janv./2004 18:10

Message par Dr. Dri »

...
Dernière modification par Dr. Dri le lun. 10/oct./2005 8:43, modifié 1 fois.
Avatar de l’utilisateur
Chris
Messages : 3731
Inscription : sam. 24/janv./2004 14:54
Contact :

Message par Chris »

Salut :)

Code : Tout sélectionner

Temp$ = "1,2,3,4,5,6,7,8,9"

Start = 1 : a = 0
Repeat
  Pos = FindString(Temp$,",",Start)
  If Pos > 0
    Start = Pos +1 : a + 1
  EndIf
Until Pos = 0

Debug a
a te renvoit le nombre de virgules.

Chris :)
Pierre
Messages : 244
Inscription : ven. 23/janv./2004 20:29
Localisation : 77 (Région parisienne)

Message par Pierre »

merci a vous!
Image
Avatar de l’utilisateur
cederavic
Messages : 1338
Inscription : lun. 09/févr./2004 23:38
Localisation : Bordeaux

Message par cederavic »

oubien

Code : Tout sélectionner

for t = 0 to len(chaine)
  k.s = mid(chaine, t, 1)
  if k = ","
    nombre + 1
  endif
next

debug nombre
Dr. Dri
Messages : 2527
Inscription : ven. 23/janv./2004 18:10

Message par Dr. Dri »

...
Dernière modification par Dr. Dri le lun. 10/oct./2005 8:43, modifié 1 fois.
Invité

Message par Invité »

il y a aussi :(plus court)

phrase.s="il,ia,une,ere,r,eur,-,."

For i= 1 To Len(phrase.s)
mot.s=StringField(phrase.s,i,","):;ceci recupere les mot entre les virgules !! (voir doc !!)
next i


quant tu connais les mots entre les virgules , leur nombres
les virgules c'est le nombre de mot -1

ou alors tu met des virgule a la place des mots !!

mais je suis pas sur que ça marche ; a essayer !! :D
Le Soldat Inconnu
Messages : 4312
Inscription : mer. 28/janv./2004 20:58
Localisation : Clermont ferrand OU Olsztyn
Contact :

Message par Le Soldat Inconnu »

une autre solution qui marche quelque soit le mot recherché dans la phrase.

je remplace le mot cherché par "" et je regarde la différence de longueur.

exemple :

Code : Tout sélectionner

Mot1.s = "truc,machin,chouette"
Mot2.s = ReplaceString(Mot1, ",", "")
NbVirgule = Len(Mot1) - Len(Mot2)

Debug Mot1 + " contient " + Str(NbVirgule) + " '',''"


Mot1.s = "truc-espace-machin-espace-chouette"
Mot2.s = ReplaceString(Mot1, "-espace-", "")
NbSeparateur = Int((Len(Mot1) - Len(Mot2))/Len("-espace-"))

Debug Mot1 + " contient " + Str(NbSeparateur) + " ''-espace-''"
Je ne suis pas à moitié Polonais mais ma moitié est polonaise ... Vous avez suivi ?

[Intel quad core Q9400 2.66mhz, ATI 4870, 4Go Ram, XP (x86) / 7 (x64)]
filperj
Messages : 395
Inscription : jeu. 22/janv./2004 1:13

Message par filperj »

Et maintenant tu as la commande CountString(chaine,chaine a compter) :)
Le chaos l'emporte toujours sur l'ordre
parcequ'il est mieux organisé.
(Ly Tin Wheedle)
Répondre