extractBefore

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

Описание

пример

newStr = extractBefore(str,pat) извлекает подстроку, которая начинается с первого символа str и концы перед подстрокой заданы pat. Если pat происходит многократно в str, затем newStr isstr от запуска 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.

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

свернуть все

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

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

Введенный в R2017b