begin process at 2010 02 10 10:30:23
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Texte

 > RENVOIE UNE PARTIE D'UNE CHAINE PAR RAPPORT À UN SÉPARATEUR

RENVOIE UNE PARTIE D'UNE CHAINE PAR RAPPORT À UN SÉPARATEUR


 Information sur la source

Note :
8 / 10 - par 1 personne
8,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Texte Niveau :Débutant Date de création :03/03/2003 Date de mise à jour :03/03/2003 11:41:06 Vu :2 926

Auteur : Amadeus

Ecrire un message privé
Commentaire sur cette source (3)
Ajouter un commentaire et/ou une note

 Description

Retourne les tokens se trouvant à la position At dans la chaîne S sans les caractères de contrôle et les espaces se trouvant au début et à la fin.

Source

  • function TokenAt(const S: string; Seperator: Char; At: Integer): string;
  • var
  • J, I: Integer;
  • begin
  • Result := '';
  • J := 1;
  • I := 0;
  • while (I <= At) and (J <= Length(S)) do
  • begin
  • if (S[J] = Seperator) then
  • Inc(I)
  • else if (I = At) then
  • Result := Result + S[J];
  • Inc(J);
  • end;
  • Result := Trim(Result);
  • end;
function TokenAt(const S: string; Seperator: Char; At: Integer): string;
var
  J, I: Integer;
begin
  Result := '';
  J := 1;
  I := 0;
  while (I <= At) and (J <= Length(S)) do
  begin
    if (S[J] = Seperator) then
      Inc(I)
    else if (I = At) then
      Result := Result + S[J];
    Inc(J);
  end;
  Result := Trim(Result);
end;

 Conclusion

Exemple:
s := "aaa;bb;ccc"
si on lance s1 := rgTokenAt(s, ';', 2)
alors s1 = bb


 Sources du même auteur

VERROUILER UN FICHIER
DONNE NOMBRE DE TOKEN DANS UNE CHAINE
Source avec Zip COMPOSANT TALIGNPANEL
GESTION DES FENÊTRE MDI FILLE UNIQUE
Source avec Zip EXPORT DE DONNÉE D'UN DATASET DANS UN FICHIER TEXTE

 Sources de la même categorie

Source avec Zip COMBINAISONS DE STRINGS par askil2000
Source avec Zip Source avec une capture RECONNAISSANCE DE CARACTÈRES (OCR) par Bacterius
Source avec Zip Source avec une capture NETTOYAGE AUTOMATIQUE DE NOMS DE FICHIERS par John Dogget
DISTANCE DE JARO-WINKLER par PoulpHunter
Source avec Zip BASE DE DONNÉE WIKI par thithony

Commentaires et avis

Commentaire de Amadeus le 03/03/2003 12:01:07

Fonction proposé suite à un problème de Manu00

Commentaire de Emandhal le 04/03/2003 12:13:16

Function SubString(Str: String ; Substr: String ; n: Integer): String;
var
  z: Integer;
begin
  Str := Str + Substr;
  For z := 1 to n do
  begin
    Str := copy(Str, pos(Substr, Str)+length(Substr), length(Str)-pos(Substr, Str)+Length(Substr));
  end;
  Result := copy(Str, 1, pos(Substr, Str)-1);
end;
Ce code là aurait-il pas été plus simple? voir mieux vu que le séparateur peut-être aussi bien un Char qu'une String?

Commentaire de japee le 05/02/2005 01:45:40 administrateur CS

Redirigé ici par ni69 qui répondait à une question posée sur le forum. ;)
On n'a pas fini de l'explorer, notre site préféré !

Dans son exemple, l'auteur a certainement voulu dire :

s := 'aaa;bb;ccc'
si on lance s1 := TokenAt(s, ';', 2)
alors s1 = 'ccc'

... vérifiez !

La fonction proposée dans le commentaire par Emandhal sera plus correcte en remplaçant :

Result := Copy(Str, 1, pos(Substr, Str) -1);

... par :

Result := Trim(Copy(Str, 1, pos(Substr, Str) -1));

si l'on tient compte des espaces éventuels, comme dans le code d'Amadeus.

 Ajouter un commentaire




Nos sponsors


Sondage...

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,468 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales