strfind

Строки поиска в других строках

Описание

пример

k = strfind(str,pattern) поисковые запросы str для случаев pattern. Выход, k, указывает на начальное значение индекса каждого вхождения pattern в str. Если pattern не найден, затем strfind возвращает пустой массив, []. strfind функция выполняет поиск с учетом регистра.

  • Если str вектор символов или скаляр строки, затем strfind возвращает вектор типа double.

  • Если str массив ячеек из символьных векторов или массив строк, затем strfind возвращает массив ячеек векторов типа double.

пример

k = strfind(str,pattern,'ForceCellOutput',cellOutput) силы strfind возвратить k как массив ячеек, когда cellOutput верно, даже когда str вектор символов.

Примеры

свернуть все

Найдите начальные значения индекса для случаев шаблонов в векторе символов.

Во-первых, создайте вектор символов.

str = 'Find the starting indices of a pattern in a character vector';

Найдите шаблон in.

k = strfind(str,'in')
k = 1×4

     2    15    19    40

Существует четыре экземпляра шаблона в str.

Найдите шаблон In.

k = strfind(str,'In')
k =

     []

Начиная с strfind является чувствительным к регистру, шаблон не найден. k пустой массив.

Найдите пробелы в str.

k = strfind(str,' ')
k = 1×10

     5     9    18    26    29    31    39    42    44    54

В str существует десять пробелов.

Найдите начальные значения индекса для случаев шаблона в массиве ячеек из символьных векторов.

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

str = {'How much wood would a woodchuck chuck';
       'if a woodchuck could chuck wood?'};

Найдите шаблон wood в str.

idx = strfind(str,'wood')
idx=2×1 cell
    {1x2 double}
    {1x2 double}

Исследуйте выходной массив ячеек, чтобы найти экземпляры шаблона.

idx{:,:}
ans = 1×2

    10    23

ans = 1×2

     6    28

Шаблон wood происходит в индексах 10 и 23 в первом векторе символов и в индексах 6 и 28 во втором векторе символов.

Найдите случаи шаблона в векторе символов. Обеспечьте strfind возвратить индексы тех случаев в массиве ячеек. Затем отобразите индексы.

Создайте вектор символов и найдите случаи шаблона ain.

str = 'The rain in Spain.';
k = strfind(str,'ain','ForceCellOutput',true)
k = 1x1 cell array
    {1x2 double}

strfind возвращает скалярную ячейку, которая содержит числовой массив, который содержит индексы случаев шаблона ain в str. Чтобы получить доступ к числовому массиву в ячейке, используйте фигурные скобки.

k{1}
ans = 1×2

     6    15

Входные параметры

свернуть все

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

Типы данных: char | cell | string

Поисковый шаблон, заданный как вектор символов или скаляр строки.

Типы данных: char | string

Индикатор для принуждения выхода, который будет возвращен как массив ячеек, заданный как falseTRUE, 0, или 1.

Типы данных: логический

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

свернуть все

Индексы случаев pattern, возвращенный как массив. Если pattern не найден, затем k пустой массив, [].

  • Если str вектор символов или скаляр строки, k вектор, удваивает указание на индекс каждого вхождения pattern.

  • Если str массив ячеек из символьных векторов или массив строк, k массив ячеек. Для каждой части текста в str, соответствующая ячейка k содержит вектор, удваивает указание на индекс каждого вхождения pattern.

Советы

  • Если pattern вектор символов или скаляр строки без символов ('' или ""), затем strfind возвращает пустой массив.

  • Начиная в R2016b, contains функция рекомендуется для нахождения шаблонов в строковых массивах.

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

Смотрите также

| | | | | | | | | |

Представлено до R2006a