1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
| // Renvoie la première sous-chaîne de S délimitée par Token
// (si Token n'est pas dans S, renvoie S)
function GetFirstToken(S : string; Token : Char) : string;
var I : integer;
begin
I := 1;
// On parcourt la chaîne jusqu'à trouver un caractère Token
while (I <= Length(S)) and (S[I] <> Token) do inc(I);
// On copie la chaîne depuis le début jusqu'au caractère avant Token
Result := Copy(S, 1, I-1);
end;
// Renvoie la dernière sous-chaîne de S délimitée par Token
// (si Token n'est pas dans S, renvoie S)
function GetLastToken(S : string; Token : Char) : string;
var I : integer;
begin
I := Length(S);
// On parcourt la chaîne à l'envers jusqu'à trouver un caractère Token
while (I > 0) and (S[I] <> Token) do dec(I);
// On copie la chaîne depuis le caractère après Token jusqu'à la fin
Result := Copy(S, I+1, Length(S));
end; |