Fonction Replace

Renvoie une chaîne dans laquelle une sous-chaîne spécifiée a été remplacée par une autre sous-chaîne un nombre spécifié de fois.

Syntaxe

Replace(expression, find, replacewith[, start[, count[, compare]]])

Arguments :

  • expression : requis. Expression de chaîne contenant la sous-chaîne à remplacer.
  • find : requis. Sous-chaîne recherchée.
  • replacewith : requis. Sous-chaîne de remplacement.
  • start : facultatif. Position dans l'expression à laquelle la recherche de sous-chaîne doit commencer. Si l'argument est omis, la valeur supposée est 1. Doit être utilisé en association avec count.
  • count : facultatif. Nombre de substitutions de sous-chaîne à effectuer. Si l'argument est omis, la valeur par défaut est -1, ce qui signifie que toutes les substitutions possibles sont effectuées. Doit être utilisé en association avec start.
  • compare : facultatif. Valeur numérique indiquant le type de comparaison à utiliser lors de l'évaluation des sous-chaînes. Pour connaître les valeurs, reportez-vous à la section Paramètres. Si l'argument est omis, la valeur par défaut est 0, ce qui signifie qu'une comparaison binaire est effectuée.
  • Paramètres : l'argument compare peut avoir les valeurs suivantes.

    Tableau 11-19 Constantes de comparaison et descriptions

    Constante Valeur Description
    vbBinaryCompare 0 Permet d'effectuer une comparaison binaire
    vbTextCompare 1 Permet d'effectuer une comparaison textuelle

Valeur renvoyée

La fonction Replace renvoie les valeurs suivantes :

Tableau 11-20 Valeurs renvoyées par Replace

Si Replace renvoie
expression est de longueur nulle une chaîne de longueur nulle ("")
expression a la valeur NULL une erreur
find est de longueur nulle une copie de l'expression
replacewith est de longueur nulle une copie de l'expression avec toutes les occurrences de la valeur de find enlevées
start > Len (expression) une chaîne de longueur nulle
count a la valeur 0 une copie de l'expression

Remarques

La valeur renvoyée par la fonction Replace est une chaîne, avec les substitutions effectuées, qui commence à la position indiquée par start et se termine à la fin de la chaîne de l'argument expression. Il ne s'agit pas d'une copie de la chaîne d'origine du début à la fin.

Les exemples suivants utilisent la fonction Replace pour renvoyer une chaîne :

Exemple 1 :

' A binary comparison starting at the beginning of the string. 
Dim MyString
MyString = Replace("XXpXXPXXp", "p", "Y")
' Output: " XXYXXPXXY".

Exemple 2 :

' A textual comparison starting at position 4.
Dim MyString
MyString = Replace("XXpXXPXXp", "p", "Y", 4)
'Output: XXPXXY

Exemple 3 :

Dim MyString
MyString = Replace("XXpXXPXXp", "X", "Y", 1, 4)
'Output: YYpYYPXXp

Exemple 4 :

Dim MyString
MyString = Replace("XxpXxPXxp", "X", "Y", 1, -1, 0)
'Output: YxpYxPYxp
MyString = Replace("XxpXxPXxp", "X", "Y", 1, -1, 1)
'Output: YYpYYPYYp

Exemple 5 :

Dim MyString2
MyString2 = Replace("XXpXXPXXp", "p", "")
' Output: "XXXXPXX".

Exemple 6 :

Dim MyString4
MyString4 = Replace("XXpXXPXXp", "p", "Y", 1, 0)
' Output: "XXpXXPXXp".

Exemple 7 :

Dim MyString5
MyString5 = Replace("XXpXXPXXp", "", "Y")
'Output: "XXpXXPXXp".