Замените подстроки между начальными и конечными точками
подстроки замен в newStr
= replaceBetween(str
,startPat
,endPat
,newText
)str
с текстом в newText
. Подстроки, которые заменяются, находятся между подстроками startPat
и endPat
. Однако replaceBetween
не заменяет startPat
и endPat
самостоятельно. replaceBetween
возвращает результат как newStr
. newText
аргумент может иметь различное количество символов, чем подстрока, которую он заменяет.
Если str
массив строк или массив ячеек из символьных векторов, затем replaceBetween
подстроки замен в каждом элементе str
. Выходной аргумент newStr
имеет совпадающий тип данных как str
.
обеспечивает начала и концы, заданные в любом из предыдущих синтаксисов, чтобы быть любой включенным или исключенным. Они являются включенными когда newStr
= replaceBetween(___,'Boundaries',bounds)bounds
'inclusive'
, и исключительный, когда bounds
'exclusive'
. Например, replaceBetween(str,startPat,endPat,newText,'Boundaries','inclusive')
замены startPat
, endPat
, и весь текст между ними с текстом, заданным newText
.
Создайте строковые массивы и замените текст, который находится между подстроками.
Начиная в R2017a, можно создать строки с помощью двойных кавычек.
str = "The quick brown fox"
str = "The quick brown fox"
Если вы используете R2016b, создаете строковые массивы с помощью string
функция вместо двойных кавычек.
Замените текст, который находится между подстроками 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"
Начиная с R2020b
Создайте сокращения как "i18n"
для "internationalization"
. Для этого замените текст между первыми и последними буквами от слова с количеством букв.
Во-первых, создайте массив строк.
str = ["globalization"; "internationalization"; "localization"]
str = 3x1 string
"globalization"
"internationalization"
"localization"
Создайте шаблоны, которые совпадают с первыми и последними символами строки. textBoundary
функционируйте контуры соответствий в запуске или конце строки, в то время как вызов lettersPattern(1)
соответствия любая буква.
startPat = textBoundary + lettersPattern(1)
startPat = pattern
Matching:
textBoundary + lettersPattern(1)
endPat = lettersPattern(1) + textBoundary
endPat = pattern
Matching:
lettersPattern(1) + textBoundary
Найдите длину каждой строки в str
. С учетом первых и последних букв вычтите два из каждой длины. Преобразуйте длины в строки.
L = strlength(str) - 2; L = string(L)
L = 3x1 string
"11"
"18"
"10"
Создайте сокращения от элементов str
. Замените символы между первыми и последними буквами с элементами L
.
newStr = replaceBetween(str,startPat,endPat,L)
newStr = 3x1 string
"g11n"
"i18n"
"l10n"
Для списка функций, которые создают объекты шаблона, смотрите pattern
.
Создайте строковые массивы и замените подстроки между положениями начала и конца, которые заданы как числа.
Начиная в 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'
str
— Введите текстВведите текст в виде массива строк, вектора символов или массива ячеек из символьных векторов.
startPat
— Текст или шаблон, который метки запускают положениеpattern
массив (начиная с R2020b)Текст или шаблон, который отмечает положение запуска текста, чтобы заменить в виде одного из следующего:
Массив строк
Символьный вектор
Массив ячеек из символьных векторов
pattern
массив (начиная с R2020b)
Если str
массив строк или массив ячеек из символьных векторов, затем можно заменить подстроки в каждом элементе str
. Можно указать, что подстроки у или всех есть то же самое, запускают или имеют различные запуски в каждом элементе str
.
Чтобы задать то же самое запускают, задают startPat
как вектор символов, строковый скаляр или pattern
объект.
Чтобы задать различные запуски, задайте startPat
как массив строк, массив ячеек из символьных векторов или pattern
массив.
Пример: 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)
.
endPat
— Текст или шаблон, который отмечает конечное положениеpattern
массив (начиная с R2020b)Текст или шаблон, который отмечает конечное положение текста, чтобы заменить в виде одного из следующего:
Массив строк
Символьный вектор
Массив ячеек из символьных векторов
pattern
массив (начиная с R2020b)
Если str
массив строк или массив ячеек из символьных векторов, затем можно заменить подстроки в каждом элементе str
. Можно указать, что подстроки или все имеют тот же конец или имеют различные концы в каждом элементе str
.
Чтобы задать тот же конец, задайте endPat
как вектор символов, строковый скаляр или pattern
объект.
Чтобы задать различные концы, задайте endPat
как массив строк, массив ячеек из символьных векторов или pattern
массив.
Пример: 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)
.
startPos
— Запустите положениеЗапустите положение в виде числового массива.
Если 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)
.
endPos
— Конечное положениеКонечное положение в виде числового массива.
Если 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)
.
newText
— Текст заменыТекст замены в виде массива строк, вектора символов или массива ячеек из символьных векторов.
Если 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
.
newStr
— Синтезируемый текстСинтезируемый текст, возвращенный как массив строк, вектор символов или массив ячеек из символьных векторов. str
и newStr
имейте совпадающий тип данных.
Указания и ограничения по применению:
Объекты шаблона не поддерживаются.
Для получения дополнительной информации см. Раздел "Высокие массивы".
Указания и ограничения по применению:
str
, startPat
, endPat
, и newText
должен быть строковый скаляр, вектор символов или массив ячеек, содержащий не больше чем один вектор символов.
backgroundPool
или ускорьте код с Parallel Computing Toolbox™ ThreadPool
.Эта функция полностью поддерживает основанные на потоке среды. Для получения дополнительной информации смотрите функции MATLAB Запуска в Основанной на потоке Среде.
Указания и ограничения по применению:
startPat
и endPat
должны быть строковые массивы, векторы символов или массивы ячеек из символьных векторов.
Для получения дополнительной информации смотрите функции MATLAB Запуска с Распределенными Массивами (Parallel Computing Toolbox).
split
| join
| replace
| erase
| eraseBetween
| extract
| extractBetween
| pattern
| lettersPattern
| textBoundary
| insertAfter
| insertBefore
| count
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.