extractBetween

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

Описание

пример

newStr = extractBetween(str,startPat,endPat) извлекает подстроку из str это находится между подстроками startPat и endPat. Извлеченная подстрока не включает startPat и endPat.

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

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

пример

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

пример

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

Примеры

свернуть все

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

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

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

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

Выберите текст, который находится между подстроками "quick " и " fox". extractBetween функция выбирает текст, но не включает "quick " или " fox" в выходе.

newStr = extractBetween(str,"quick "," fox")
newStr = 
"brown"

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

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

newStr = extractBetween(str,["quick ";"the "],[" fox";" dog"])
newStr = 2x1 string
    "brown"
    "lazy"

Начиная с 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 + ">"

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

newStr = extractBetween(str,startPat,endPat)
newStr = 3x1 string
    "Calculus I"
    "Fall 2020"
    "MWF 8:00-8:50"

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

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

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

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

Выберите второе имя. Задайте седьмые и 11-е положения в строке.

newStr = extractBetween(str,7,11)
newStr = 
"Allen"

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

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

newStr = extractBetween(str,[7;8],[11;10])
newStr = 2x1 string
    "Allen"
    "May"

Выберите текст из строковых массивов с границами, которые нужно включить или исключить. extractBetween включает контуры с выделенным текстом, когда контуры являются включенными. extractBetween не включает контуры с выделенным текстом, когда контуры исключительны.

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

str1 = "small|medium|large"
str1 = 
"small|medium|large"

Выберите текст между шестыми и 13-ми положениями, но не включайте символы в те положения.

newStr = extractBetween(str1,6,13,'Boundaries','exclusive')
newStr = 
"medium"

Выберите текст между двумя подстроками, и также самими подстроками.

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

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

chr = 'mushrooms, peppers, and onions'
chr = 
'mushrooms, peppers, and onions'
newChr = extractBetween(chr,12,18)
newChr = 1x1 cell array
    {'peppers'}

Выбор Text Between Substrings.

newChr = extractBetween(chr,'mushrooms, ',', and')
newChr = 1x1 cell array
    {'peppers'}

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

свернуть все

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

свернуть все

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

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

Введенный в R2017b