Определите, находится ли шаблон в строках
Создайте массив строк имен, где некоторые имена содержат Paul.
Начиная в R2017a, можно создать строки с помощью двойных кавычек.
str = ["Mary Ann Jones","Paul Jay Burns","John Paul Smith"]
str = 1x3 string
"Mary Ann Jones" "Paul Jay Burns" "John Paul Smith"
Если вы используете R2016b, создаете строковые массивы с помощью string функция вместо двойных кавычек.
Возвратите логический массив, где положение каждого элемента равняется 1 соответствует положению строки в str это содержит Paul.
pat = "Paul";
TF = contains(str,pat)TF = 1x3 logical array
0 1 1
Отобразите строки, которые содержат Paul. Индексируйте назад в str использование TF.
str(TF)
ans = 1x2 string
"Paul Jay Burns" "John Paul Smith"
Начиная с R2020b
Создайте массив строк, который содержит адреса.
str = ["221B Baker St.","Tour Eiffel Champ de Mars","4059 Mt Lee Dr."]
str = 1x3 string
"221B Baker St." "Tour Eiffel Champ..." "4059 Mt Lee Dr."
Чтобы найти адреса, которые содержат числа, создайте шаблон, который совпадает с произвольным числом цифр при помощи digitsPattern функция.
pat = digitsPattern
pat = pattern
Matching:
digitsPattern
Возвратите логический массив, указывающий, какие строки содержат цифры. Отобразите соответствующие строки.
TF = contains(str,pat)
TF = 1x3 logical array
1 0 1
str(TF)
ans = 1x2 string
"221B Baker St." "4059 Mt Lee Dr."
Ищите строки, которые имеют последовательность цифр, сопровождаемых одной буквой. Можно создать более комплексные шаблоны путем объединения простых шаблонов.
pat = digitsPattern + lettersPattern(1)
pat = pattern
Matching:
digitsPattern + lettersPattern(1)
TF = contains(str,pat); str(TF)
ans = "221B Baker St."
Для списка функций, которые создают объекты шаблона, смотрите pattern.
Создайте массив строк имен, где некоторые имена содержат любой Ann или Paul.
str = ["Mary Ann Jones","Christopher Matthew Burns","John Paul Smith"]
str = 1x3 string
"Mary Ann Jones" "Christopher Matth..." "John Paul Smith"
Найдите элементы str это содержит любой Ann или Paul.
pat = ["Ann","Paul"]; TF = contains(str,pat)
TF = 1x3 logical array
1 0 1
Индексируйте назад в str использование TF.
str(TF)
ans = 1x2 string
"Mary Ann Jones" "John Paul Smith"
Создайте массив строк, который содержит имена. Определите, какие имена содержат anne'IgnoringCase' .
Начиная в R2017a, можно создать строки с помощью двойных кавычек.
str = ["Anne","Elizabeth","Marianne","Tracy"]
str = 1x4 string
"Anne" "Elizabeth" "Marianne" "Tracy"
pat = "anne"; TF = contains(str,pat,'IgnoreCase',true)
TF = 1x4 logical array
1 0 1 0
Отобразите строки, которые содержат anne. Индексируйте назад в str использование TF.
str(TF)
ans = 1x2 string
"Anne" "Marianne"
Создайте вектор символов, который содержит список продуктов. Определите, находятся ли имена различных продуктов в векторе символов.
chr = 'peppers, onions, and mushrooms'; TF = contains(chr,'onion')
TF = logical
1
TF = contains(chr,'pineapples')TF = logical
0
str — Введите текстВведите текст в виде массива строк, вектора символов или массива ячеек из символьных векторов.
pat — Поисковый шаблонpattern массив (начиная с R2020b)Поисковый шаблон в виде одного из следующего:
Массив строк
Символьный вектор
Массив ячеек из символьных векторов
pattern массив (начиная с R2020b)
Указания и ограничения по применению:
Объекты шаблона не поддерживаются.
Для получения дополнительной информации см. Раздел "Высокие массивы".
Указания и ограничения по применению:
str и pat должен быть строковый скаляр, вектор символов или массив ячеек, содержащий не больше чем один вектор символов.
backgroundPool или ускорьте код с Parallel Computing Toolbox™ ThreadPool.Эта функция полностью поддерживает основанные на потоке среды. Для получения дополнительной информации смотрите функции MATLAB Запуска в Основанной на потоке Среде.
Указания и ограничения по применению:
pat должен быть массив строк, вектор символов или массив ячеек из символьных векторов.
Для получения дополнительной информации смотрите функции MATLAB Запуска с Распределенными Массивами (Parallel Computing Toolbox).
count | endsWith | extract | matches | replace | startsWith | split | pattern | digitsPattern | lettersPattern
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.