Découper une chaine de caractère

0/5 (3 avis)

Snippet vu 43 066 fois - Téléchargée 29 fois

Contenu du snippet

Voici une petite fonction qui sert à découper une chaîne de caractère, pour l'utiliser, passer en paramètre la chaîne à découper, puis le delimiteur (ex : "/") ensuite quel morceau de la chaîne vous désirez (ex : 3)

Source / Exemple :


function decouperChaine(chaineAdecouper, delimiteur, morceau)
    dim t,at
    dim r
    dim fin
    if morceau<1 then morceau =1
    fin=false
    at=-1
    t=0
    for r=1 to morceau
    	if at=>t then 
   			fin=true
    		exit for
     	end if
		at=t
		t=instr(at+1,stringIn,delimiteur)
    next
    if fin then 
		decouperChaine = null
    elseif t=0 then
		decouperChaine = mid(stringIn,at+1)
    else
		decouperChaine = mid(stringIn,at+1,t-(at+1))
    end if
end function

A voir également

Ajouter un commentaire Commentaires
JpatOsaure Messages postés 5 Date d'inscription mercredi 2 avril 2003 Statut Membre Dernière intervention 29 août 2005
28 avril 2004 à 10:25
salut,

pour info, si tu ne le sais pas, il existe une fonction pour faire ça : SPLIT().
cette fonction, a pour paramètres, 2 string. une où il faut chercher et une autre pour ce qu'il faut chercher.
le résultat et renvoyer dans un tableau de string.

son inverse existe aussi : merger un tableau mono dimensionnel de string en une chaîne grâce à Char liant. cette fonction JOIN()

a cio

JpatOsaure
cs_phm Messages postés 49 Date d'inscription jeudi 17 janvier 2002 Statut Membre Dernière intervention 23 avril 2009
28 avril 2004 à 10:20
très bien !
très utile surtout.
je me suis fait une version bcp plus paresseuse
par manque de patience :
à l'aide d'un split.

Function getitem(chaine,offset,separateur)
Dim MyArray
offset=offset-1
MyArray = Split(chaine,separateur, -1, 1)
if UBound(MyArray)>=offset then
getitem=MyArray(offset)
else
getitem=""
end if
End Function
cs_phm Messages postés 49 Date d'inscription jeudi 17 janvier 2002 Statut Membre Dernière intervention 23 avril 2009
28 avril 2004 à 10:20
très bien !
très utile surtout.
je me suis fait une version bcp plus paresseuse
par manque de patience :
à l'aide d'un split.

Function getitem(chaine,offset,separateur)
Dim MyArray
offset=offset-1
MyArray = Split(chaine,separateur, -1, 1)
if UBound(MyArray)>=offset then
getitem=MyArray(offset)
else
getitem=""
end if
End Function

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.