count

Отсчитывайте вхождения шаблона в строках

Описание

пример

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