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". The 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 года)

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

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

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

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

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

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

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

свернуть все

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

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

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