Извлеките подстроки перед заданными положениями
извлекает подстроку, которая начинается с первого символа newStr = extractBefore(str,pat)str и концы перед подстрокой заданы pat. Если pat происходит многократно в str, затем newStr isstr от запуска str до первого вхождения pat.
Если str массив строк или массив ячеек из символьных векторов, затем extractBefore подстроки извлечений от каждого элемента str. Выходной аргумент newStr имеет совпадающий тип данных как str.
Создайте строковые массивы и выберите текст, который происходит перед подстроками.
Начиная в 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 + textBoundarypat = 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 — Введите текстВведите текст в виде массива строк, вектора символов или массива ячеек из символьных векторов.
pat — Текст или шаблон, который отмечает конечное положениеpattern массив (начиная с R2020b)Текст или шаблон в str это отмечает конечное положение для извлеченного текста в виде одного из следующего:
Массив строк
Символьный вектор
Массив ячеек из символьных векторов
pattern массив (начиная с R2020b)
extractBefore функция исключает pat из подстроки, которая извлечена.
Если str массив строк или массив ячеек из символьных векторов, затем можно извлечь подстроки из каждого элемента str. Можно указать, что подстроки или все имеют тот же конец или имеют различные концы в каждом элементе str.
Чтобы задать тот же конец, задайте pat как вектор символов, строковый скаляр или pattern объект.
Чтобы задать различные концы, задайте pat как массив строк, массив ячеек из символьных векторов или pattern массив.
pos — Конечное положениеКонечное положение в виде числового массива.
Если str массив строк или массив ячеек из символьных векторов, затем pos может быть числовой скаляр или числовой массив одного размера с str.
newStr — Синтезируемый текстСинтезируемый текст, возвращенный как массив строк, вектор символов или массив ячеек из символьных векторов.
Указания и ограничения по применению:
Объекты шаблона не поддерживаются.
Для получения дополнительной информации см. Раздел "Высокие массивы".
Указания и ограничения по применению:
str и pat должен быть строковый скаляр, вектор символов или массив ячеек, содержащий не больше чем один вектор символов.
backgroundPool или ускорьте код с Parallel Computing Toolbox™ ThreadPool.Эта функция полностью поддерживает основанные на потоке среды. Для получения дополнительной информации смотрите функции MATLAB Запуска в Основанной на потоке Среде.
Указания и ограничения по применению:
pat должен быть массив строк, вектор символов или массив ячеек из символьных векторов.
Для получения дополнительной информации смотрите функции MATLAB Запуска с Распределенными Массивами (Parallel Computing Toolbox).
split | join | erase | extract | extractAfter | extractBetween | insertAfter | insertBefore | replace | strlength | count | pattern | wildcardPattern | textBoundary
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.