Découper une chaine de caractère

Soyez le premier à donner votre avis sur cette source.

Snippet vu 42 738 fois - Téléchargée 27 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

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

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

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.