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