exponenta event banner

количество

Подсчитать вхождения массива в строках

Описание

пример

A = count(str,pat) возвращает количество вхождений pat в str.

Если pat является массивом, содержащим несколько шаблонов, то count возвращает сумму вхождений всех элементов pat в str.

пример

A = count(str,pat,'IgnoreCase',true) игнорирует регистр при подсчете количества вхождений pat.

Примеры

свернуть все

Подсчитать количество вхождений строки, 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

Входные аргументы

свернуть все

Входной текст, заданный как строковый массив, символьный вектор или массив ячеек символьных векторов.

Шаблон поиска, указанный как один из следующих:

  • Строковый массив

  • Символьный вектор

  • Массив ячеек символьных векторов

  • pattern массив (с R2020b года)

Расширенные возможности

.
Представлен в R2016b