count - Count occurrences of pattern in strings - MATLAB (original) (raw)
Count occurrences of pattern in strings
Syntax
Description
A = count([str](#bu55fcg%5Fsep%5Fbu4l86d-str),[pat](#bu55fcg%5Fsep%5Fbu4l86d-pattern))
returns the number of occurrences of pat
in str
.
If pat
is an array containing multiple patterns, thencount
returns the sum of the occurrences of all elements ofpat
in str
. count
matches elements of pat
in order, from left to right. Text segments in str
can only be matched once.
A = count([str](#bu55fcg%5Fsep%5Fbu4l86d-str),[pat](#bu55fcg%5Fsep%5Fbu4l86d-pattern),'IgnoreCase',true)
ignores case when counting the number of occurrences ofpat
.
Examples
Count the number of occurrences of the string, red
, in string arrays.
You can create a string using double quotes.
str = "paired with red shoes"
str = "paired with red shoes"
To count the occurrences of red
, use the count
function. In this example, the result is 2 because red
is also part of the word paired
.
Create a 2-by-1 string array.
str = ["red green red red blue blue green"; "green red blue green green blue"]
str = 2×1 string "red green red red blue blue green" "green red blue green green blue"
Count the occurrences of red
in each element of str
. If str
is a string array or cell array of character vectors, then A
is a numeric array that has the same size.
Since R2020b
Create a string array that contains addresses.
str = ["221B Baker St.","Tour Eiffel Champ de Mars","4059 Mt Lee Dr."]
str = 1×3 string "221B Baker St." "Tour Eiffel Champ de Mars" "4059 Mt Lee Dr."
To count the digits in each address, first create a pattern that matches a single digit. The number of times this pattern occurs in a string equals the number of digits in the string.
Create the pattern by calling the digitsPattern
function with 1
as the input argument. When you do this, it matches a single digit (such as 2
) instead of an arbitrary sequence of digits (such as 221
or 4059
).
pat = pattern Matching:
digitsPattern(1)
Then call the count
function with str
and pat
as inputs.
Similarly, you can count the number of letters (not including digits, spaces, or punctuations marks) by using the pattern created by lettersPattern(1)
.
A = count(str,lettersPattern(1))
Count sequences consisting of one or more digits and then one letter. You can build more complex patterns by combining simple patterns. In this case, digitsPattern + lettersPattern(1)
matches 221B
.
pat = digitsPattern + lettersPattern(1); A = count(str,pat)
For a list of functions that create pattern objects, see pattern.
Count the total number of occurrences of red
and blue
in a string array.
You can create strings using double quotes.
str = ["red green blue"; "green red blue green blue"]
str = 2×1 string "red green blue" "green red blue green blue"
count
returns 2 for the first string because red
and blue
each occur once. count
returns 3 for the second string because red
occurs once and blue
occurs twice.
A = count(str,["red","blue"])
Count the number of occurrences of the letter E
in a string array that contains names, ignoring case.
You can create strings using double quotes.
str = ["Edgar Allan Poe";"Louisa May Alcott"]
str = 2×1 string "Edgar Allan Poe" "Louisa May Alcott"
A = count(str,'E','IgnoreCase',true)
Count the number of times al
occurs in the word alphabetical
.
Input Arguments
Input text, specified as a string array, character vector, or cell array of character vectors.
Search pattern, specified as one of the following:
- String array
- Character vector
- Cell array of character vectors
- pattern array (since R2020b)
Extended Capabilities
Thecount
function fully supports tall arrays. For more information, see Tall Arrays.
Usage notes and limitations:
str
andpattern
must be a string scalar, a character vector, or a cell array containing not more than one character vector.
Version History
Introduced in R2016b