exponenta event banner

заменить

Поиск и замена одной или нескольких подстрок

Описание

пример

newStr = replace(str,old,new) заменяет все вхождения подстроки old с new. Если old содержит несколько подстрок, затем new любой из них должен быть того же размера, что и old, или должна быть одиночной подстрокой.

Примеры

свернуть все

Замените текст-заполнитель в списке имен файлов.

Начиная с R2017a, можно создавать строки с помощью двойных кавычек.

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

При использовании R2016b создайте массивы строк с помощью string функция вместо двойных кавычек.

Заменить <ROOT_DIR> со строкой, которая является именем пути к файлу.

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

С R2020b г.

Создайте строку, содержащую номер телефона.

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

Создайте образец, соответствующий цифре, с помощью digitsPattern функция.

pat = digitsPattern(1)
pat = pattern
  Matching:

    digitsPattern(1)

Заменить все цифры на "#" персонаж.

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

Создайте другой шаблон, соответствующий только телефонным номерам.

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

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

Замените номер телефона в строке с другим номером.

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

Список функций, создающих объекты массива, см. в разделе pattern.

Замените возврат каретки новыми символами строки.

Начиная с R2017a, можно создавать строки с помощью двойных кавычек.

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

Замените возврат каретки.

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

Входные аргументы

свернуть все

Входной текст, заданный как строковый массив, символьный вектор или массив ячеек символьных векторов.

Подстрока для замены, указанная как одно из следующих значений:

  • Строковый массив

  • Символьный вектор

  • Массив ячеек символьных векторов

  • pattern массив (с R2020b года)

Новая подстрока, заданная как строковый массив, символьный вектор или массив ячеек символьных векторов.

Совет

  • Для выполнения нескольких замен перекрывающихся шаблонов используйте strrep функция.

Расширенные возможности

.
Представлен в R2016b