Contenuto principale

replace

Cercare e sostituire una o più sottostringhe

Descrizione

newStr = replace(str,old,new) sostituisce tutte le occorrenze della sottostringa old con new. Se old contiene più sottostringhe, new deve avere la stessa dimensione di old oppure deve essere una sottostringa singola.

esempio

Esempi

comprimi tutto

Sostituire il testo segnaposto in un elenco di nomi di file.

Creare un array di stringhe.

str = ["<ROOT_DIR>\MyData\data.tar.gz";
       "<ROOT_DIR>\MyScripts\cleandata.m";
       "<ROOT_DIR>\MyScripts\preprocess.m";
       "<ROOT_DIR>\MyScripts\publishResults.m"]
str = 4×1 string
    "<ROOT_DIR>\MyData\data.tar.gz"
    "<ROOT_DIR>\MyScripts\cleandata.m"
    "<ROOT_DIR>\MyScripts\preprocess.m"
    "<ROOT_DIR>\MyScripts\publishResults.m"

Sostituire <ROOT_DIR> con una stringa che sia il nome di un percorso di file.

old = "<ROOT_DIR>";
new = "C:\MyProject";
newStr = replace(str,old,new)
newStr = 4×1 string
    "C:\MyProject\MyData\data.tar.gz"
    "C:\MyProject\MyScripts\cleandata.m"
    "C:\MyProject\MyScripts\preprocess.m"
    "C:\MyProject\MyScripts\publishResults.m"

Dalla release R2020b

Creare una stringa che includa un numero di telefono.

str = "Hide the numbers in: (508) 555-1234"
str = 
"Hide the numbers in: (508) 555-1234"

Creare un pattern che corrisponda a una cifra utilizzando la funzione digitsPattern.

pat = digitsPattern(1)
pat = pattern
  Matching:

    digitsPattern(1)

Sostituire tutte le cifre con un carattere "#".

newStr = replace(str,pat,"#")
newStr = 
"Hide the numbers in: (###) ###-####"

Creare un altro pattern che corrisponda solo ai numeri di telefono.

pat = "(" + digitsPattern(3) + ") " + digitsPattern(3)  + "-" + digitsPattern(4)
pat = pattern
  Matching:

    "(" + digitsPattern(3) + ") " + digitsPattern(3) + "-" + digitsPattern(4)

Sostituire un numero di telefono in una stringa che contiene anche un altro numero.

str = "12 calls made to: (508) 555-1234";
newStr = replace(str,pat,"(###) ###-####")
newStr = 
"12 calls made to: (###) ###-####"

Per un elenco delle funzioni che creano oggetti pattern, vedere pattern.

Sostituire i ritorni a capo con caratteri di nuova riga.

Creare un array di stringhe.

str = ["Submission Date: 11/29/15\r";
       "Acceptance Date: 1/20/16\r";
       "Contact: john.smith@example.com\r\n"]
str = 3×1 string
    "Submission Date: 11/29/15\r"
    "Acceptance Date: 1/20/16\r"
    "Contact: john.smith@example.com\r\n"

Sostituire i ritorni a capo.

old = {'\r\n','\r'};
new = '\n';
newStr = replace(str,old,new)
newStr = 3×1 string
    "Submission Date: 11/29/15\n"
    "Acceptance Date: 1/20/16\n"
    "Contact: john.smith@example.com\n"

Argomenti di input

comprimi tutto

Testo di input, specificato come array di stringhe, vettore di caratteri o array di celle di vettori di caratteri.

Sottostringa da sostituire, specificata in uno dei seguenti modi:

  • Array di stringhe

  • Vettore di caratteri

  • Array di celle di vettori di caratteri

  • Array di pattern (dalla release R2020b)

Nuova sottostringa, specificata come array di stringhe, vettore di caratteri o array di celle di vettori di caratteri.

Suggerimenti

  • Per eseguire più sostituzioni per pattern sovrapposti, utilizzare la funzione strrep.

Funzionalità estese

espandi tutto

Cronologia versioni

Introdotto in R2016b