Gambas France BETA


Pas de compte ? Incription

[Résolu] Recherche dans un string

Ce sujet est résolu.

1
AuteurMessages
loki#1 Posté le 26/3/2010 à 13:20:00
J'adore mon titre :affraid: :oops: 8)
Salut,

je voudrais pouvoir savoir combien de fois un mot apparais dans une variable, la fonction InStr donne l'emplacement mais pas le nombre.

pour être plus claire
1
PRINT InStr("Gambas is basic", "bas")

donne 4 qui l'emplacement de départ de la recherche "bas" moi je voudrais un retour 2 un pour gambas et un pour basic es ce possible ?
Dell Vostro 3750
Ubuntu 13.04 - Gambas 3.4.1
micio#2 Posté le 26/3/2010 à 18:04:00
Peut-être existe-t-il une fonction Gambas mais à défaut

1
' Gambas module filePUBLIC SUB main() PRINT nbOccurrence("Gambas is basic", "bas")ENDPUBLIC SUB nbOccurrence(sChn AS String, sMotif AS String) AS Integer DIM pos, compt AS Integer DO pos = InStr(sChn, sMotif, pos + 1) IF pos = FALSE THEN RETURN compt compt += 1 LOOP END
loki#3 Posté le 26/3/2010 à 20:31:00
1
2
3
4
5
6
7
8
9
10
11
12
13
14
' Gambas module file
PUBLIC SUB main()
PRINT nbOccurrence("Gambas is basic", "bas")
END

PUBLIC SUB nbOccurrence(sChn AS STRING, sMotif AS STRING) AS INTEGER
DIM pos, compt AS INTEGER
DO
pos = InStr(sChn, sMotif, pos + 1)
IF pos = FALSE THEN RETURN compt
compt += 1
LOOP

END


Merci micio,

Effectivement sa marche, je vais enfin pouvoir utiliser la fonction "do loop" :D

a+
Dell Vostro 3750
Ubuntu 13.04 - Gambas 3.4.1
1