Esta página aún no se ha traducido para esta versión. Puede ver la versión más reciente de esta página en inglés.

strfind

Encontrar una cadena dentro de otro

Descripción

ejemplo

k = strfind(str,pattern) busca str para las apariciones de pattern. La salida, k, indica el índice de inicio de cada ocurrencia de pattern en str. Si no se encuentra pattern , strfind devuelve una matriz vacía, []. La función strfind ejecuta una búsqueda sensible a mayúsculas y minúsculas.

  • Si str es un vector de carácter o un escalar de cadena, strfind devuelve un vector de tipo double.

  • Si str es una matriz de celdas de vectores de caracteres o una matriz de cadena, strfind devuelve una matriz de vectores de tipo double.

ejemplo

k = strfind(str,pattern,'ForceCellOutput',cellOutput) obliga a strfind a devolver k como una matriz de celdas cuando cellOutput es true, incluso cuando str es un vector de caracteres.

Ejemplos

contraer todo

Encuentre los índices de inicio para las ocurrencias de patrones en un vector de caracteres.

Primero, crea un vector de caracteres.

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

Encuentre el patrón in.

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

     2    15    19    40

Hay cuatro instancias del patrón en str.

Encuentre el patrón In.

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

     []

Dado que strfind es sensible a mayúsculas y minúsculas, no se encuentra el patrón. k es una matriz vacía.

Busque los espacios en blanco en str.

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

     5     9    18    26    29    31    39    42    44    54

Hay diez espacios en blanco en str.

Busque los índices de inicio de las apariciones de un patrón en una matriz de vectores de caracteres.

Crear una matriz de celdas de vectores de caracteres.

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

Encuentre el patrón wood en str.

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

Examine la matriz de celdas de salida para encontrar las instancias del patrón.

idx{:,:}
ans = 1×2

    10    23

ans = 1×2

     6    28

El patrón wood se produce en los índices 10 y 23 en el primer vector de caracteres y en los índices 6 y 28 en el segundo vector de caracteres.

Encuentre las apariciones de un patrón en un vector de caracteres. Fuerce strfind para devolver los índices de esas apariciones en una matriz de celdas. A continuación, mostrar los índices.

Cree un vector de caracteres y busque las apariciones del patrón ain.

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

strfind devuelve una celda escalar que contiene una matriz numérica, que contiene índices de ocurrencias del patrón ain en str. Para acceder a la matriz numérica dentro de la celda, utilice llaves rizadas.

k{1}
ans = 1×2

     6    15

Argumentos de entrada

contraer todo

Datos que se buscarán, se especificarán como vector de caracteres, una matriz de vectores de caracteres o una matriz de cadenas.

Tipos de datos: char | cell | string

Patrón de búsqueda, especificado como un vector de carácter o un escalar de cadena.

Tipos de datos: char | string

Indicador para forzar la salida que se devolverá como una matriz de celdas, especificada como false, true, 0o 1.

Tipos de datos: logical

Argumentos de salida

contraer todo

Índices de ocurrencias de pattern, devueltos como una matriz. Si no se encuentra pattern , k es una matriz vacía, [].

  • Si str es un vector de carácter o un escalar de cadena, k es un vector de dobles que indica el índice de cada ocurrencia de pattern.

  • Si str es una matriz de celdas de vectores de caracteres o una matriz de cadena, k es una matriz de celdas. Para cada fragmento de texto de str, la celda correspondiente de k contiene un vector de dobles que indica el índice de cada ocurrencia de pattern.

Sugerencias

  • Si pattern es un vector de caracteres o un escalar de cadenas sin caracteres ('' o ""), strfind devuelve una matriz vacía.

  • A partir de R2016b, se recomienda la función contains para buscar patrones dentro de las matrices de cadenas.

Capacidades ampliadas

Introducido antes de R2006a