Подсчитать вхождения массива в строках
Подсчитать количество вхождений строки, red, в строковых массивах.
Начиная с R2017a, можно создать строку с помощью двойных кавычек.
str = "paired with red shoes"str = "paired with red shoes"
Если вы используете R2016b, то используйте string функция вместо двойных кавычек.
Подсчет вхождений red, используйте count функция. В этом примере результат равен 2, поскольку red также является частью слова paired.
A = count(str,"red")A = 2
Создайте строковый массив 2 на 1.
str = ["red green red red blue blue green"; "green red blue green green blue"]
str = 2x1 string
"red green red red blue blue green"
"green red blue green green blue"
Подсчитать вхождения red в каждом элементе str. Если str является строковым массивом или массивом ячеек символьных векторов, то A - числовой массив, имеющий одинаковый размер.
A = count(str,"red")A = 2×1
3
1
С 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 функция с 1 в качестве входного аргумента. При этом он совпадает с одной цифрой (например, 2) вместо произвольной последовательности цифр (например, 221 или 4059).
pat = digitsPattern(1)
pat = pattern
Matching:
digitsPattern(1)
Затем вызовите count функция с str и pat в качестве входных данных.
A = count(str,pat)
A = 1×3
3 0 4
Аналогично, можно подсчитать количество букв (не включая цифры, пробелы или знаки препинания) с помощью шаблона, созданного lettersPattern(1).
A = count(str,lettersPattern(1))
A = 1×3
8 21 7
Число последовательностей, состоящих из одной или нескольких цифр, а затем одной буквы. Можно создавать более сложные шаблоны, комбинируя простые шаблоны. В этом случае digitsPattern + lettersPattern(1) матчи 221B.
pat = digitsPattern + lettersPattern(1); A = count(str,pat)
A = 1×3
1 0 0
Список функций, создающих объекты массива, см. в разделе pattern.
Подсчитать общее количество вхождений red и blue в строковом массиве.
Начиная с R2017a, можно создавать строки с помощью двойных кавычек.
str = ["red green blue"; "green red blue green blue"]
str = 2x1 string
"red green blue"
"green red blue green blue"
count возвращает 2 для первой строки, поскольку red и blue каждый происходит один раз. count возвращает 3 для второй строки, поскольку red происходит один раз и blue происходит дважды.
A = count(str,["red","blue"])
A = 2×1
2
3
Подсчитать количество вхождений буквы E в строковом массиве, содержащем имена, регистр игнорируется.
Начиная с R2017a, можно создавать строки с помощью двойных кавычек.
str = ["Edgar Allan Poe";"Louisa May Alcott"]
str = 2x1 string
"Edgar Allan Poe"
"Louisa May Alcott"
A = count(str,'E','IgnoreCase',true)
A = 2×1
2
0
Подсчитать количество раз al встречается в слове alphabetical.
chr = 'alphabetical'chr = 'alphabetical'
A = count(chr,'al')A = 2
str - Входной текстВходной текст, заданный как строковый массив, символьный вектор или массив ячеек символьных векторов.
pat - Шаблон поискаpattern массив (с R2020b года)Шаблон поиска, указанный как один из следующих:
Строковый массив
Символьный вектор
Массив ячеек символьных векторов
pattern массив (с R2020b года)
Примечания и ограничения по использованию:
Объекты массива не поддерживаются.
Дополнительные сведения см. в разделе Массивы Tall.
Примечания и ограничения по использованию:
str и pattern должен быть строковым скаляром, символьным вектором или массивом ячеек, содержащим не более одного символьного вектора.
Примечания и ограничения по использованию:
pat должен быть строковым массивом, символьным вектором или массивом ячеек символьных векторов.
Дополнительные сведения см. в разделе Запуск функций MATLAB с распределенными массивами (панель инструментов параллельных вычислений).
contains | digitsPattern | endsWith | extract | lettersPattern | matches | pattern | startsWith | strlength
Имеется измененная версия этого примера. Открыть этот пример с помощью изменений?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.