IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

 Delphi Discussion :

extraire une chaine de caractère


Sujet :

Delphi

  1. #1
    Membre régulier
    Inscrit en
    Juin 2008
    Messages
    394
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 394
    Points : 73
    Points
    73
    Par défaut extraire une chaine de caractère
    j'ai une chaine de caractère dont je veux extraire une sous chaine à partir de la 7eme position jusqu'à la fin

    puisque la taille de ma chaine varie donc je peux pas utiliser la
    fonction MidStr puisque je serai obligué de fixer la position +nombre de caractère à extraire (ce nombre n'est pas fixe)

    est-il possible d'utiliser la fonction MidStr avec 2 parametre seulement la chaine et la position

    MidStr (chaine,7)

    merci de me répondre

  2. #2
    Rédacteur/Modérateur
    Avatar de Andnotor
    Inscrit en
    Septembre 2008
    Messages
    5 757
    Détails du profil
    Informations personnelles :
    Localisation : Autre

    Informations forums :
    Inscription : Septembre 2008
    Messages : 5 757
    Points : 13 353
    Points
    13 353
    Par défaut
    Si tu regardes l'aide, tu verras que si le nombre de caractères voulu dépasse la longeur de la chaîne, la fin de la chaîne sera renvoyée sans erreur.

    Même chose avec Copy:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    s2 := Copy(s1, 7, MaxInt);

  3. #3
    Membre éprouvé Avatar de BuzzLeclaire
    Homme Profil pro
    Dev/For/Vte/Ass
    Inscrit en
    Août 2008
    Messages
    1 606
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Dev/For/Vte/Ass

    Informations forums :
    Inscription : Août 2008
    Messages : 1 606
    Points : 1 113
    Points
    1 113
    Par défaut
    Salut,

    MidStr doit te convenir normalement utilise le ainsi :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Machaine := 'COUCOU LES LOUPS' // Ou autre chose
    MidStr(Machaine,7,Length(Machaine));
    bye.

  4. #4
    Expert éminent sénior

    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    19 647
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2004
    Messages : 19 647
    Points : 32 889
    Points
    32 889
    Par défaut
    Tu trouveras ta réponse dans la FAQ Delphi

  5. #5
    Membre régulier
    Inscrit en
    Juin 2008
    Messages
    394
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 394
    Points : 73
    Points
    73
    Par défaut
    MidStr doit te convenir normalement utilise le ainsi :

    Code :
    Machaine := 'COUCOU LES LOUPS' // Ou autre chose
    MidStr(Machaine,7,Length(Machaine));
    merci pour l'idée BuzzLeclaire mais je crois qu'il faut mettre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    MidStr(Machaine,7,Length(Machaine)-6);
    comme ça il va prendre le reste de ma chaine à partir de la 7eme position
    puisque le 3eme paramètre de la fonction "MidStr" c'est le nombre de caractère à extraire

    tu ne trouve pas ?

  6. #6
    Membre confirmé
    Avatar de OutOfRange
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    533
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 533
    Points : 474
    Points
    474
    Par défaut
    Salut
    Tu peux aussi utiliser la fonction RightStr pour extraire les n-6 caractères à droite
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    function SousChaineADroite(LaChaine:String;Depart:Byte):String;
    begin
      Result:=RightStr(Lachaine,Length(LaChaine)-(Depart-1));
    end;
     
    procedure TForm1.FormActivate(Sender: TObject);
    var
      MaChaine:String;
    begin
      MaChaine:='LaChaineDontJeVeuxTousLesCaractèresàPartirDu7ème';
      ShowMessage(SousChaineADroite(MaChaine,7));
    end;
    Ou plus simplement faire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
      ShowMessage(RightStr(MaChaine,Length(MaChaine)-6));

Discussions similaires

  1. extraire une chaine de caractère dans un cdata
    Par arnoldlayne dans le forum XSL/XSLT/XPATH
    Réponses: 0
    Dernier message: 11/03/2010, 10h09
  2. extraire une chaine de caractères
    Par Stéph utilisateur d'acces dans le forum Excel
    Réponses: 6
    Dernier message: 06/03/2009, 13h15
  3. Extraire une chaine de caractères
    Par Sam_Dalembert dans le forum Requêtes et SQL.
    Réponses: 4
    Dernier message: 18/08/2008, 11h58
  4. extraire une chaine de caractères
    Par nopnop dans le forum C
    Réponses: 11
    Dernier message: 10/04/2007, 17h21
  5. Extraire une chaine de caractéres
    Par fatati dans le forum Oracle
    Réponses: 4
    Dernier message: 30/01/2007, 14h39

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo