replaceBetween

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

Описание

пример

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') замены startStrendStr , и весь текст между ними с текстом, заданным 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
    "The quick brown fox jumps"
    "over the lazy dog"

newText = ["red";"sleeping"];
newStr = replaceBetween(str,["quick ";"the "],[" fox";" dog"],newText)
newStr = 2x1 string
    "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
    "Edgar Allen Poe"
    "Louisa May Alcott"

newText = ["A.";"M."];
newStr = replaceBetween(str,[7;8],[11;10],newText)
newStr = 2x1 string
    "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- 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- 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- 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- 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- 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