STRINGREPLACE |
Remplacement de chaine de caractères |
---|---|
Delphi/Kylix/Lazarus | SysUtils |
Syntaxe
Function StringReplace(Const S:String; Const OldPattern:String;Const NewPattern:String; Flags:TReplaceFlags):String; |
Paramètres
Nom | Description |
---|---|
S | Ce paramètre permet d'indiquer la chaîne de caractères à traiter |
OldPattern | Ce paramètre permet d'indiquer la sous-chaîne de caractères à rechercher |
NewPattern | Ce paramètre permet d'indiquer la sous-chaîne de caractères à mettre à la place de la vieille. |
Flags | Ce paramètre permet d'indiquer les méthodes de remplacement. |
Description
Cette fonction permet de remplacer des sous-chaînes de caractères par d'autres sous-chaînes de caractères. Il effectue sa recherche de la gauche vers la droite et arrête après le premier élément rencontré si rfReplaceAll n'est pas spécifié.
Remarques
- Par défaut, cette fonction remplace uniquement la première occurrence rencontré et retourne le résultat immédiatement après. Si vous souhaitez qu'il remplace toutes les occurrences rencontrées dans la chaine de caractères, vous devez indiquer au paramètre «Flags», l'élément «rfReplaceAll»
- Si vous souhaitez supprimer les espaces au début et à la fin d'une chaîne de caractères, elle préférable d'utiliser la fonction «Trim».
- Si vous ne souhaitez pas qu'il fasse de différence entre les majuscules et les minuscules, vous devez indiquer «rfIgnoreCase» dans le paramètre «Flags».
- Si aucune correspondance n'a été trouvé, il retournera la chaîne de caractères inchangé.
Exemples
Voici un exemple d'une utilisation typique de cette fonction :
- Program StringReplaceSamples;
-
- {$APPTYPE Console}
- Uses SysUtils;
-
- BEGIN
- WriteLn('Replace(""64.6"",""."","","") = ',StringReplace('64.6','.',',',[]));
- WriteLn('Replace(""M. Maltais"",""M."",""Monsieur"") = ',StringReplace('M. Maltais','M.','Monsieur',[]));
- END.
on obtiendra le résultat suivant :
Replace("64.6",".",",") = 64,6Replace("M. Maltais","M.","Monsieur") = Monsieur Maltais
Voici quelques exemples permettent de supprimer les espaces entre les mots :
- Program RemoveSpaces;
-
- {$APPTYPE Console}
- Uses SysUtils;
-
- BEGIN
- WriteLn('StringReplace("ABC DEF GHI"," ","",[]) = ',StringReplace('ABC DEF GHI',' ','',[]));
- WriteLn('StringReplace("ABC DEF GHI"," ","",[]) = ',StringReplace('ABC DEF GHI',' ','',[rfReplaceAll]));
- WriteLn('StringReplace("ABC DEF GHI"," ","",[]) = ',StringReplace('ABC / DEF / GHI',' ','',[]));
- WriteLn('StringReplace("ABC DEF GHI"," ","",[]) = ',StringReplace('ABC / DEF / GHI',' ','',[rfReplaceAll]));
- END.
on obtiendra le résultat suivant :
StringReplace("ABC DEF GHI"," ","",[]) = ABCDEF GHIStringReplace("ABC DEF GHI"," ","",[]) = ABCDEFGHI
StringReplace("ABC DEF GHI"," ","",[]) = ABC/ DEF / GHI
StringReplace("ABC DEF GHI"," ","",[]) = ABC/DEF/GHI
Voir également
Langage de programmation - Delphi/Kylix/Lazarus - Référence de procédures et fonctions - AnsiReplaceStr
Langage de programmation - Delphi/Kylix/Lazarus - Référence de procédures et fonctions - Concat
Langage de programmation - Delphi/Kylix/Lazarus - Référence de procédures et fonctions - Copy
Langage de programmation - Delphi/Kylix/Lazarus - Référence de procédures et fonctions - Delete
Langage de programmation - Delphi/Kylix/Lazarus - Référence de procédures et fonctions - Insert
Langage de programmation - Delphi/Kylix/Lazarus - Référence de procédures et fonctions - Move
Langage de programmation - Delphi/Kylix/Lazarus - Référence de procédures et fonctions - StuffString
Langage de programmation - Delphi/Kylix/Lazarus - Référence de procédures et fonctions - WrapText