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". The 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-by- 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-by- 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-by- 1 Строковые массивы, затем eraseBetween(str,[5;10],[9;21]) удаляет все символы с пятой по девятую позиции в str(1), и с 10-го по 21-е позиции в str(2).

Конечное положение, заданное как числовой массив.

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

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

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

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

свернуть все

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

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

.
Введенный в R2016b