Hauptinhalt

replace

Suchen und Ersetzen eines oder mehrerer Substrings

Beschreibung

newStr = replace(str,old,new) ersetzt alle Vorkommen des Substrings old durch new. Wenn old mehrere Substrings enthält, muss new entweder dieselbe Größe wie old aufweisen oder ein einzelner Substring sein.

Beispiel

Beispiele

alle reduzieren

Ersetzen Sie Platzhaltertext in einer Liste mit Dateinamen.

Erstellen Sie ein String Array.

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"

Ersetzen Sie <ROOT_DIR> durch einen String, der sich im Namen eines Dateipfads befindet.

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"

Ab R2020b

Erstellen Sie einen String mit einer Telefonnummer.

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

Erstellen Sie mit der Funktion digitsPattern ein Muster, das mit einer Ziffer übereinstimmt.

pat = digitsPattern(1)
pat = pattern
  Matching:

    digitsPattern(1)

Ersetzen Sie alle Ziffern durch das "#"-Zeichen.

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

Erstellen Sie ein weiteres Muster, das nur Telefonnummern abgleicht.

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

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

Ersetzen Sie eine Telefonnummer in einem String, der zudem eine andere Nummer aufweist.

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

Eine Liste der Funktionen, die Musterobjekte erstellen, finden Sie unter pattern.

Ersetzen Sie Wagenrückläufe mit Zeilenvorschub-Zeichen.

Erstellen Sie ein String Array.

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"

Ersetzen Sie die Wagenrückläufe.

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"

Eingabeargumente

alle reduzieren

Eingabetext, angegeben als String Array, Zeichenvektor oder Zellenarray aus Zeichenvektoren.

Zu ersetzender Substring, angegeben als eine der folgenden Optionen:

  • String Array

  • Zeichenvektor

  • Zellenarray aus Zeichenvektoren

  • pattern-Array (ab R2020b)

Neuer Substring, angegeben als String Array, Zeichenvektor oder Zellenarray aus Zeichenvektoren.

Tipps

  • Verwenden Sie die Funktion strrep, um mehrere Ersetzungsvorgänge für überlappende Muster durchzuführen.

Erweiterte Fähigkeiten

alle erweitern

Versionsverlauf

Eingeführt in R2016b