eraseBetween

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

Описание

пример

newStr = eraseBetween(str,startPat,endPat) удаляет все символы из str это находится между подстроками startPat и endPat, но не удаляет startPat и endPat самостоятельно. eraseBetween возвращает оставшийся текст как newStr.

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

пример

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

пример

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

Примеры

свернуть все

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

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

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

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

Удалите текст, который находится между подстроками "quick" и " fox". eraseBetween функция удаляет текст, но не удаляет "quick" или " fox".

newStr = eraseBetween(str,"quick"," fox")
newStr = 
"The quick fox"

Удалите подстроки из каждого элемента массива строк. Когда вы задаете различные подстроки как индикаторы начала и конца, они должны содержаться в массиве строк или массиве ячеек из символьных векторов, который одного размера с str.

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

startPos = ["quick";"the"];
endPos = [" fox";" dog"];
newStr = eraseBetween(str,startPos,endPos)
newStr = 2x1 string
    "The quick fox jumps"
    "over the dog"

Начиная с R2020b

Создайте массив строк, которому заключили текст теги.

str = ["<courseName>Calculus I</courseName>";
       "<semester>Fall 2020</semester>";
       "<schedule>MWF 8:00-8:50</schedule>"]
str = 3x1 string
    "<courseName>Calculus I</courseName>"
    "<semester>Fall 2020</semester>"
    "<schedule>MWF 8:00-8:50</schedule>"

Удалите текст, заключенный тегами. Сначала создайте шаблоны, которые соответствуют, любой запускает тег и конечный тэг при помощи wildcardPattern функция.

startPat = "<" + wildcardPattern + ">"
startPat = pattern
  Matching:

    "<" + wildcardPattern + ">"

endPat = "</" + wildcardPattern + ">"
endPat = pattern
  Matching:

    "</" + wildcardPattern + ">"

Затем вызовите eraseBetween функция.

newStr = eraseBetween(str,startPat,endPat)
newStr = 3x1 string
    "<courseName></courseName>"
    "<semester></semester>"
    "<schedule></schedule>"

Для списка функции, которые создают объекты шаблона, смотрите pattern.

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

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

str = "Edgar Allen Poe"
str = 
"Edgar Allen Poe"

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

newStr = eraseBetween(str,6,11)
newStr = 
"Edgar Poe"

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

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

startsPos = [6;7];
endPos = [11;10];
newStr = eraseBetween(str,startsPos,endPos)
newStr = 2x1 string
    "Edgar Poe"
    "Louisa Alcott"

Удалите текст из строковых массивов с границами, которые нужно включить или исключить. eraseBetween удаляет контуры, когда они являются включенными. eraseBetween возвращает контуры как часть массива выводимой строки, когда они исключительны.

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

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

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

newStr = eraseBetween(str,6,13,'Boundaries','exclusive')
newStr = 
"small||large"

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

str = "The quick brown fox jumps over the lazy dog"
str = 
"The quick brown fox jumps over the lazy dog"
newStr = eraseBetween(str," brown","lazy",'Boundaries','inclusive')
newStr = 
"The quick dog"

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

chr = 'mushrooms, peppers, and onions'
chr = 
'mushrooms, peppers, and onions'
newChr = eraseBetween(chr,10,19)
newChr = 
'mushrooms and onions'

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

newChr = eraseBetween(chr,'mushrooms',' and')
newChr = 
'mushrooms and onions'

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

свернуть все

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

Текст или шаблон, который отмечает положение запуска текста, чтобы удалить в виде одного из следующего:

  • Массив строк

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

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

  • pattern массив (начиная с R2020b)

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

  • Чтобы задать то же самое запускают, задают startPat как вектор символов, строковый скаляр или pattern объект.

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

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

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

Текст или шаблон, который отмечает конечное положение текста, чтобы удалить в виде одного из следующего:

  • Массив строк

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

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

  • pattern массив (начиная с R2020b)

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

  • Чтобы задать тот же конец, задайте endPat как вектор символов, строковый скаляр или pattern объект.

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

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

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

Запустите положение в виде числового массива.

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

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

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

Конечное положение в виде числового массива.

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

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

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

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

свернуть все

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

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

Введенный в R2017b