éclater des chaines de char sous delphi

Fermé
polo021 - 13 déc. 2001 à 16:36
 caramidi - 7 juin 2010 à 16:04
Je cherche le moyen de pouvoir décomposer une chaîne de caractères en plusieurs autres séparées.
A voir également:

2 réponses

declare ces variables
tachaine : WideString;
tachaine2 : array of string;

SetLength(tachaine2, 1);
tachaine := 'voila un exemple de découpage en fonction des espaces contenus dans une chaîne ';

while Pos(' ', tachaine) > 0 do
begin
tachaine2[Length(tachaine2)-1] := trim(copy(tachaine,0, Pos(' ', tachaine))) ;

delete (tachaine,1, length(copy(tachaine,0, Pos(' ', tachaine)) ));
SetLength(tachaine2, length(tachaine2)+1);

end;

##########################
résultats:
tachaine2[1]:='voila'
tachaine2[2]:='un'
tachaine2[3]:='exemple'
tachaine2[4]:='de'
..
..
..

tachaine2[12]:='chaîne'


##########################

PS: ce n'est pas un exercice d'optimisation mais j'accepte les critiques (notamment sur le length(tachaine2)+1 qui modifie le tableau dynamique )

@+
0
la fonction :

copy('la chaine à décomposer',caractère début,nombre de caractères à garder);

exemple:
ma_chaine := copy('123456',2,3);

renvoie: ma_chaine = 234 // la variable ma_chaine contient alors : 234

tu peux décomposer ta chaine autant de fois que tu le désire ;)


permet de tronquer une chaine de caractère.
0