replaceBetween

Замените подстроки между запуском и конечными точками

Синтаксис

newStr = replaceBetween(str,startStr,endStr,newText)
newStr = replaceBetween(str,startPos,endPos,newText)
newStr = replaceBetween(___,'Boundaries',bounds)

Описание

пример

newStr = replaceBetween(str,startStr,endStr,newText) подстроки замен в str с текстом в newText. Подстроки, которые заменяются, происходят между подстроками startStr и endStr. Однако replaceBetween не заменяет startStr и endStr самостоятельно. replaceBetween возвращает результат как newStr. Аргумент newText может иметь различное количество символов, чем подстрока, которую он заменяет.

Если str является массивом строк или массивом ячеек из символьных векторов, то replaceBetween заменяет подстроки в каждом элементе str. Выходной аргумент newStr имеет совпадающий тип данных как str.

пример

newStr = replaceBetween(str,startPos,endPos,newText) подстроки замен в str. Подстроки, которые заменяются, происходят между положениями startPos и endPos в str, включая символы в тех положениях.

пример

newStr = replaceBetween(___,'Boundaries',bounds) обеспечивает запуски и концы, заданные в любом из предыдущих синтаксисов, чтобы быть или содержащим или исключительным. Они являются содержащими, когда bounds является 'inclusive', и исключительный, когда bounds является 'exclusive'. Например, replaceBetween(str,startStr,endStr,newText,'Boundaries','inclusive') заменяет startStr, endStr и весь текст между ними с текстом, заданным newText.

Примеры

свернуть все

Создайте строковые массивы и замените текст, который происходит между подстроками.

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

str = "The quick brown fox"
str = 
"The quick brown fox"

Замените текст, который происходит между подстроками quick и fox. Функция replaceBetween заменяет текст, но не заменяет quick или fox в выводе.

newStr = replaceBetween(str,"quick "," fox","red")
newStr = 
"The quick red fox"

Замените подстроки от каждого элемента массива строк. Когда вы задаете различные подстроки, как запускают и заканчивают индикаторы, они должны содержаться в массиве строк или массиве ячеек, который одного размера как str. Текст замены также должен быть в массиве строк или массиве ячеек, одного размера.

str = ["The quick brown fox jumps";"over the lazy dog"]
str = 2x1 string array
    "The quick brown fox jumps"
    "over the lazy dog"

newText = ["red";"sleeping"];
newStr = replaceBetween(str,["quick ";"the "],[" fox";" dog"],newText)
newStr = 2x1 string array
    "The quick red fox jumps"
    "over the sleeping dog"

Создайте строковые массивы и замените подстроки между запуском и конечными положениями, которые заданы как числа.

Начиная в R2017a, можно создать строки с помощью двойных кавычек. Создайте строку, которая содержит имя. Чтобы заменить второе имя, задайте седьмые и 11-е положения в строке.

str = "Edgar Allen Poe"
str = 
"Edgar Allen Poe"
newStr = replaceBetween(str,7,11,'A.')
newStr = 
"Edgar A. Poe"

Замените подстроки от каждого элемента массива строк. Когда вы задаете различный запуск и конечные положения с числовыми массивами, они должны быть одного размера как массив входной строки. Текст замены также должен быть в массиве строк или массиве ячеек, одного размера.

str = ["Edgar Allen Poe";"Louisa May Alcott"]
str = 2x1 string array
    "Edgar Allen Poe"
    "Louisa May Alcott"

newText = ["A.";"M."];
newStr = replaceBetween(str,[7;8],[11;10],newText)
newStr = 2x1 string array
    "Edgar A. Poe"
    "Louisa M. Alcott"

Замените текст от строковых массивов в контурах, которые обеспечены, чтобы быть содержащими или исключительными. replaceBetween заменяет контуры наряду с текстом, когда контуры являются содержащими. replaceBetween не заменяет контуры, когда контуры исключительны.

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

str = "small|medium|large"
str = 
"small|medium|large"

Замените текст между шестыми и 13-ми положениями, но не заменяйте символы в тех положениях.

newText = "regular";
newStr = replaceBetween(str,6,13,newText,'Boundaries','exclusive')
newStr = 
"small|regular|large"

Замените текст между двумя подстроками, и также самими подстроками.

str = "The quick brown fox jumps over the lazy dog"
str = 
"The quick brown fox jumps over the lazy dog"
newText = "red bird flies";
newStr = replaceBetween(str,'brown','jumps',newText,'Boundaries','inclusive')
newStr = 
"The quick red bird flies over the lazy dog"

Создайте вектор символов и замените текст между запуском и конечными положениями.

chr = 'mushrooms, peppers, and onions'
chr = 
'mushrooms, peppers, and onions'
newChr = replaceBetween(chr,12,18,'pineapple')
newChr = 
'mushrooms, pineapple, and onions'

Замена текста между подстроками.

newChr = replaceBetween(chr,'mushrooms,',' and',' extra cheese,')
newChr = 
'mushrooms, extra cheese, and onions'

Входные параметры

свернуть все

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

Типы данных: string | char | cell

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

Если str является массивом строк или массивом ячеек из символьных векторов, то startStr может быть вектором символов, скаляром строки, или массивом строк или массивом ячеек, одного размера как str.

Пример: replaceBetween(str,"AB","YZ",newText) заменяет подстроку между AB и YZ в каждом элементе str с текстом, заданным newText.

Пример: Если str является 2-by-1 массив строк, то replaceBetween(str,["AB";"FG"],["YZ";"ST"],newText) заменяет подстроки между AB и YZ в str(1), и между FG и ST в str(2).

Типы данных: string | char | cell

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

Если str является массивом строк или массивом ячеек из символьных векторов, то endStr может быть вектором символов, скаляром строки, или массивом строк или массивом ячеек, одного размера как str.

Пример: replaceBetween(str,"AB","YZ",newText) заменяет подстроку между AB и YZ в каждом элементе str с текстом, заданным newText.

Пример: Если str является 2-by-1 массив строк, то replaceBetween(str,["AB";"FG"],["YZ";"ST"],newText) заменяет подстроки между AB и YZ в str(1), и между FG и ST в str(2).

Типы данных: string | char | cell

Запустите положение подстроки, чтобы заменить, заданный как числовой массив.

Если str является массивом строк или массивом ячеек из символьных векторов, то startPos может быть числовым скаляром или числовым массивом, одного размера как str.

Пример: replaceBetween(str,5,9,newText) заменяет подстроку от пятого до девятых положений в каждом элементе str с текстом, заданным newText.

Пример: Если str является 2-by-1 массив строк, то replaceBetween(str,[5;10],[9;21],newText) заменяет подстроку от пятого до девятых положений в str(1) и 10-е через 21-е положения в str(2).

Типы данных: double | single | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Конечное положение подстроки, чтобы заменить, заданный как числовой массив.

Если str является массивом строк или массивом ячеек из символьных векторов, то endPos может быть числовым скаляром или числовым массивом, одного размера как str.

Пример: replaceBetween(str,5,9,newText) заменяет подстроку от пятого до девятых положений в каждом элементе str с текстом, заданным newText.

Пример: Если str является 2-by-1 массив строк, то replaceBetween(str,[5;10],[9;21],newText) заменяет подстроку от пятого до девятых положений в str(1) и 10-е через 21-е положения в str(2).

Типы данных: double | single | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

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

Если str является массивом строк или массивом ячеек из символьных векторов, то newText может быть вектором символов, скаляром строки, или массивом строк или массивом ячеек, одного размера как str.

Пример: replaceBetween(str,"AB","YZ","efg") заменяет подстроку между AB и YZ в каждом элементе str с efg.

Пример: Если str является 2-by-1 массив строк, то replaceBetween(str,["AB";"FG"],["YZ";"ST"],["efg";"lmnop"]) заменяет подстроки между AB и YZ в str(1) с efg, и между FG и ST в str(2) с lmnop.

Типы данных: string | char | cell

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

свернуть все

Синтезируемый текст, возвращенный как массив строк, вектор символов или массив ячеек из символьных векторов. str и newStr имеют совпадающий тип данных.

Типы данных: string | char | cell

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

Введенный в R2017b