Funzione Replace

Restituisce una stringa in cui una sottostringa specificata è stata sostituita con un'altra sottostringa per un numero specificato di volte.

Sintassi

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

Argomenti:

  • Expression: obbligatorio. Espressione stringa contenente la sottostringa da sostituire.
  • Find: obbligatorio. Sottostringa da cercare.
  • Replacewith: obbligatorio. Sottostringa di sostituzione.
  • Start: facoltativo. Posizione all'interno dell'espressione in cui deve iniziare la ricerca della sottostringa. Se omesso, viene utilizzato 1. Deve essere usato insieme all'argomento count.
  • Count: facoltativo. Numero di sostituzioni di sottostringhe da eseguire. Se omesso, il valore predefinito è -1, ovvero vengono eseguite tutte le sostituzioni possibili. Deve essere usato insieme all'argomento start.
  • Compare: facoltativo. Valore numerico che indica il tipo di confronto da utilizzare per la valutazione delle sottostringhe. Per i valori, vedere la sezione Impostazioni. Se omesso, il valore predefinito è 0, ovvero viene eseguito un confronto binario.
  • Impostazioni: l'argomento compare può avere i seguenti valori.

    Tabella 11-19 Costanti di confronto e descrizioni

    Costante Valore Descrizione
    vbBinaryCompare 0 Esegue un confronto binario
    vbTextCompare 1 Esegue un confronto testuale

Valore restituito

La funzione Replace restituisce i valori seguenti:

Tabella 11-20 Valori restituiti dalla funzione Replace

Se La funzione Replace restituisce
L'argomento expression è di lunghezza zero Stringa di lunghezza zero ("")
L'argomento expression è Null Un errore
L'argomento find è di lunghezza zero Copia dell'espressione
L'argomento replace è di lunghezza zero Copia dell'espressione con tutte le occorrenze dell'argomento find rimosse
start > Len (espressione) Stringa di lunghezza zero
L'argomento count è 0 Copia dell'espressione

Note

Il valore restituito della funzione Replace è una stringa, con sostituzioni effettuate, che inizia nella posizione specificata dall'argomento start e termina alla fine della stringa dell'argomento expression. Non si tratta di una copia della stringa originale dall'inizio alla fine.

Nell'esempio seguente viene utilizzata la funzione Replace per restituire una stringa.

Esempio 1

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

Esempio 2

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

Esempio 3

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

Esempio 4

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

Esempio 5

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

Esempio 6

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

Esempio 7

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