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 :

Substitution dans un string


Sujet :

Delphi

  1. #1
    Membre du Club Avatar de Chakalaka
    Inscrit en
    Octobre 2007
    Messages
    152
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 152
    Points : 66
    Points
    66
    Par défaut Substitution dans un string
    Bonjour,

    Je veux remplacer une séquence dans un string par une autre je m'explique
    Admettons que j'ai un string du genre "daslkjfe$-dasd-$pojfs" mon but et de trouver les caractères entourer par un indicateur particulier ($- dans mon cas) et de les remplacers par d'autres caractères
    Donc comme retour j'aurai "daslkjfe$-MaNouvelleChaine-$pojfs"

    Ma question est
    Y a til en Delphi une fonction qui détermine la position d,un jeu de caractère particulier ?
    Ya til une fonction qui remplace des caractères par d'autre en faisant la validation que je veux faire ? ou bien je dois extraire le dasd manuellement et le substituer par ma nouvelle chaine avec un StringReplace ou équivalent
    Y a til une meilleur fonction à utiliser que StringReplace

    Merci à tous ce qui partageront leur expérience avec moi

  2. #2
    Expert éminent
    Avatar de Lung
    Profil pro
    Analyste-programmeur
    Inscrit en
    Mai 2002
    Messages
    2 664
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste-programmeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 664
    Points : 6 967
    Points
    6 967
    Par défaut
    Citation Envoyé par Chakalaka Voir le message
    Y a til en Delphi une fonction qui détermine la position d,un jeu de caractère particulier ?
    Pos()

    L'urgent est fait, l'impossible est en cours, pour les miracles prévoir un délai. ___ Écrivez dans un français correct !!

    C++Builder 5 - Delphi 6#2 Entreprise - Delphi 2007 Entreprise - Delphi 2010 Architecte - Delphi XE Entreprise - Delphi XE7 Entreprise - Delphi 10 Entreprise - Delphi 10.3.2 Entreprise - Delphi 10.4.2 Entreprise - Delphi 11.1 Entreprise
    OpenGL 2.1 - Oracle 10g - Paradox - Interbase (XE) - PostgreSQL (15.4)

  3. #3
    Expert éminent sénior

    Avatar de sjrd
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Juin 2004
    Messages
    4 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Suisse

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2004
    Messages : 4 517
    Points : 10 154
    Points
    10 154
    Par défaut
    On ne peut plus simple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    function ReplaceBetween(const S: string; Delim: Char; const New: string): string;
    var
      StartPos, EndPos: Integer;
    begin
      StartPos := Pos(Delim, S)+1;
      EndPos := PosEx(Delim, S, StartPos);
     
      Result := Copy(S, 1, StartPos-1) + New + Copy(S, EndPos+1, MaxInt);
    end;
    sjrd, ancien rédacteur/modérateur Delphi.
    Auteur de Scala.js, le compilateur de Scala vers JavaScript, et directeur technique du Scala Center à l'EPFL.
    Découvrez Mes tutoriels.

  4. #4
    Membre du Club Avatar de Chakalaka
    Inscrit en
    Octobre 2007
    Messages
    152
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 152
    Points : 66
    Points
    66
    Par défaut
    Citation Envoyé par sjrd Voir le message
    On ne peut plus simple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    function ReplaceBetween(const S: string; Delim: Char; const New: string): string;
    var
      StartPos, EndPos: Integer;
    begin
      StartPos := Pos(Delim, S)+1;
      EndPos := PosEx(Delim, S, StartPos);
     
      Result := Copy(S, 1, StartPos-1) + New + Copy(S, EndPos+1, MaxInt);
    end;

    Ohhh merci infiniment j'aurais jamais écrit mielleur que ça merci

  5. #5
    Expert éminent sénior

    Avatar de sjrd
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Juin 2004
    Messages
    4 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Suisse

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2004
    Messages : 4 517
    Points : 10 154
    Points
    10 154
    Par défaut
    Pense au bouton la prochaine fois
    sjrd, ancien rédacteur/modérateur Delphi.
    Auteur de Scala.js, le compilateur de Scala vers JavaScript, et directeur technique du Scala Center à l'EPFL.
    Découvrez Mes tutoriels.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 4
    Dernier message: 03/03/2004, 11h04
  2. retour chariot dans un string
    Par bono dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 29/12/2003, 12h17
  3. [Syntaxe] mettre des ' dans une string ?
    Par souch dans le forum Débuter
    Réponses: 4
    Dernier message: 14/08/2003, 16h26
  4. Recherche d'un String dans un String ?
    Par apen2k2 dans le forum Langage
    Réponses: 9
    Dernier message: 14/04/2003, 11h08
  5. Centrer un texte dans un string Grid
    Par christine dans le forum C++Builder
    Réponses: 5
    Dernier message: 22/10/2002, 22h33

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