Отсчитывайте вхождения шаблона в строках
Подсчитайте количество вхождений строки, 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 года)
Указания и ограничения по применению:
Объекты шаблона не поддерживаются.
Для получения дополнительной информации см. Раздел «Длинные массивы»
Указания и ограничения по применению:
str
и pattern
должен быть строковым скаляром, вектором символов или массивом ячеек, содержащим не более одного векторы символов.
Указания и ограничения по применению:
pat
должен быть строковыми массивами, вектором символов или массивом ячеек векторов символов.
Для получения дополнительной информации смотрите Запуск функций MATLAB с распределенными массивами (Parallel Computing Toolbox).
contains
| digitsPattern
| endsWith
| extract
| lettersPattern
| matches
| pattern
| startsWith
| strlength
У вас есть измененная версия этого примера. Вы хотите открыть этот пример с вашими правками?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.