Извлеките подстроки перед заданными положениями
извлекает подстроку, которая начинается с первого символа 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 + 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
— Введите текстВведите текст в виде массива строк, вектора символов или массива ячеек из символьных векторов.
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
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
Вы щелкнули по ссылке, которая соответствует команде MATLAB:
Выполните эту команду, введя её в командном окне MATLAB.
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.