exponenta event banner

extractBefore

Извлечение подстрок перед заданными позициями

Описание

пример

newStr = extractBefore(str,pat) извлекает подстроку, которая начинается с первого символа str и заканчивается перед подстрокой, указанной pat. Если pat происходит несколько раз в str, то newStr является str с начала str до первого возникновения pat.

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

пример

newStr = extractBefore(str,pos) извлекает подстроку, которая начинается с первого символа str и заканчивается перед положением, указанным в pos.

Примеры

свернуть все

Создайте массивы строк и выделите текст перед подстроками.

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

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

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

Извлечение подстроки перед подстрокой " brown". extractBefore функция выбирает текст, но не включает " brown" в выходных данных.

newStr = extractBefore(str," brown")
newStr = 
"The quick"

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

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

newStr = extractBefore(str,[" brown";" dog"])
newStr = 2x1 string
    "The quick"
    "over the lazy"

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

С R2020b г.

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

str = ["C:\Temp\MyReport.docx";
       "C:\Data\Experiment1\Trial1\Sample1.csv";
       "C:\Temp\Slides.pptx"]
str = 3x1 string
    "C:\Temp\MyReport.docx"
    "C:\Data\Experiment1\Trial1\Sample1.csv"
    "C:\Temp\Slides.pptx"

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

Полный путь может иметь несколько уровней, каждый из которых состоит из любого текста, за которым следует "\" персонаж. Таким образом, начните с создания шаблона, который соответствует любым символам, кроме "\" персонаж.

name = wildcardPattern("Except","\")
name = pattern
  Matching:

    wildcardPattern("Except","\")

Затем создайте шаблон, который соответствует любому имени, найденному между "\" символ и конец строки. Используйте textBoundary для соответствия концу строки.

pat = "\" + name + textBoundary
pat = pattern
  Matching:

    "\" + wildcardPattern("Except","\") + textBoundary

Наконец, позвоните extractBefore.

paths = extractBefore(str,pat)
paths = 3x1 string
    "C:\Temp"
    "C:\Data\Experiment1\Trial1"
    "C:\Temp"

Список функций, создающих объекты массива, см. в разделе pattern.

Создание строк перед заданными позициями.

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

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

Выберите подстроку перед шестым символом.

newStr = extractBefore(str,6)
newStr = 
"Edgar"

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

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

newStr = extractBefore(str,[6;7])
newStr = 2x1 string
    "Edgar"
    "Louisa"

Выберите подстроки из каждого элемента и укажите одно и то же положение.

newStr = extractBefore(str,12)
newStr = 2x1 string
    "Edgar Allen"
    "Louisa May "

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

chr = 'peppers and onions'
chr = 
'peppers and onions'

Выберите подстроку перед восьмой позицией.

newChr = extractBefore(chr,8)
newChr = 
'peppers'

Выделите текст перед подстрокой.

newChr = extractBefore(chr,' and')
newChr = 
'peppers'

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

свернуть все

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

Текст или образец в str которая обозначает конечную позицию извлеченного текста, заданную как одно из следующих:

  • Строковый массив

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

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

  • pattern массив (с R2020b года)

extractBefore функция исключает pat из выделенной подстроки.

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

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

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

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

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

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

свернуть все

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

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

.
Представлен в R2016b