4D v16.3

Remplacer chaine

Accueil

 
4D v16.3
Remplacer chaine

Remplacer chaine 


 

Remplacer chaine ( source ; obsolète ; nouveau {; combien}{; *} ) -> Résultat 
Paramètre Type   Description
source  Chaîne in Chaîne de départ
obsolète  Chaîne in Caractère(s) à remplacer
nouveau  Chaîne in Chaîne de remplacement (si chaîne vide, toutes les occurrences sont effacées)
combien  Entier long in Nombre de remplacements à effectuer
Opérateur in Si passé : évaluation basée sur les codes de caractères
Résultat  Chaîne in Chaîne résultante

Remplacer chaine retourne une chaîne de caractères résultant du remplacement dans source de obsolète par nouveau.

Si nouveau est une chaîne vide (""), Remplacer chaine supprime chaque occurrence de obsolète dans source.

Si combien est spécifié, Remplacer chaine ne remplace que le nombre d'occurrences de obsolète spécifié, à partir du premier caractère de source. Si combien est omis, toutes les occurrences de obsolète sont remplacées.

Si obsolète est une chaîne vide, Remplacer chaine retourne source inchangé.

Par défaut, la commande effectue des comparaisons globales, tenant compte des particularités linguistiques et des lettres pouvant s'écrire avec un ou plusieurs caractères (par exemple æ = ae). En revanche, elle n'est pas diacritique (a=A, a=à...) et ne tient pas compte des caractères "ignorables" tels que les caractères dont le code est < 9 (spécification Unicode).
Pour modifier ce fonctionnement, passez l'astérisque * en dernier paramètre. Dans ce cas, les comparaisons sont effectuées sur la base des codes des caractères. Vous devez donc passer le paramètre * :

  • si vous souhaitez remplacer des caractères spéciaux, utilisés par exemple comme délimiteurs (Caractere(1)...),
  • si le remplacement des caractères doit tenir compte de la casse et des accents (a#A, a#à...).
    A noter que dans ce mode, l'évaluation ne gère pas les variations d'écriture des mots.

Note : Dans 4D v15 R3 et suivantes, une optimisation importante a été apportée à l'algorithme utilisé par cette commande lorsque vous remplacez une chaîne par une autre de taille différente, quelle que soit la syntaxe utilisée. Il en résulte une accélération significative des traitements dans ce contexte. 

L'exemple suivant illustre l'utilisation de Remplacer chaine. Les résultats sont affectés à la variable vRésultat. Les commentaires fournissent la valeur de la variable :

 vRésultat:=Remplacer chaine("Ville";"ll";"d") ` vRésultat est égal à "Vide"
 vRésultat:=Remplacer chaine("Table";"b";"") ` vRésultat est égal à "Tale"
 vRésultat:=Remplacer chaine(var;Caractere(Tabulation);",";*) ` Remplacer toutes les tabulations par des virgules

L'exemple suivant élimine les retours chariot et les tabulations du texte contenu dans la variable vRésultat :

 vRésultat:=Remplacer chaine(Remplacer chaine(vRésultat;Caractere(Retour chariot);"";*);Caractere(Tabulation);"";*)

L'exemple suivant illustre le rôle du paramètre * dans le cadre d'une évaluation diacritique :

 vRésultat:=Remplacer chaine("Crème brûlée";"Brulee";"caramel") `vRésultat est égal à "Crème caramel"
 vRésultat:=Remplacer chaine("Crème brûlée";"Brulee";"caramel";*) `vRésultat est égal à "Crème brûlée"



Voir aussi  

Inserer chaine
Remplacer caracteres
Supprimer chaine

 
PROPRIÉTÉS 

Produit : 4D
Thème : Chaînes de caractères
Numéro : 233
Nom intl. : Replace string

Commande(s) éligible(s) à l'exécution dans un process préemptifLe mode Unicode affecte cette commande

 
HISTORIQUE 

Modifié : 4D v11 SQL Release 1
Modifié : 4D v15 R3

 
UTILISATION DE L'ARTICLE

4D - Langage ( 4D v16)
4D - Langage ( 4D v16.1)
4D - Langage ( 4D v16.2)
4D - Langage ( 4D v16.3)