Main Content

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.

strcmp

Descripción

ejemplo

tf = strcmp(s1,s2) compara s1 y s2 y devuelve 1 (true) si los dos son idénticos y de 0 ( false ) de lo contrario. El texto se considera idéntico si el tamaño y el contenido de cada uno son los mismos. El resultado de retorno tf es de tipo de datos logical.

Los argumentos de entrada pueden ser cualquier combinación de arrays de cadenas, vectores de caracteres y arrays de celdas de vectores de caracteres.

Ejemplos

contraer todo

Compara dos vectores de caracteres diferentes.

s1 = 'Yes';
s2 = 'No';
tf = strcmp(s1,s2)
tf = logical
   0

strcmp devuelve 0 porque s1 y s2 no son iguales.

Compara dos vectores de caracteres iguales.

s1 = 'Yes';
s2 = 'Yes';
tf = strcmp(s1,s2)
tf = logical
   1

strcmp devuelve 1 porque s1 y s2 son iguales.

Busque la palabra 'upon' en una matriz de celdas de vectores de caracteres.

s1 = 'upon';
s2 = {'Once','upon';
      'a','time'};
tf = strcmp(s1,s2)
tf = 2x2 logical array

   0   1
   0   0

Sólo hay una ocurrencia de s1 en array s2, y se produce en el elemento s2(1,2).

Compare cada elemento en dos matrices de vectores de caracteres.

s1 = {'Time','flies','when';
      'you''re','having','fun.'};
s2 = {'Time','drags','when';
      'you''re','anxiously','waiting.'};
tf = strcmp(s1,s2)
tf = 2x3 logical array

   1   0   1
   1   0   0

Hay tres instancias de elementos iguales en s1 y s2. Estos son 'Time' en índices (1,1), 'when' en índices | (1, 3) |, y 'you''re' en índices (2,1).

A partir de R2017a, puede crear cadenas mediante comillas dobles en lugar de la función string . Compare las matrices de cadenas mediante strcmp.

s1 = ["A","bc";
      "def","G"];
s2 = ["B","c";
      "def","G"];

tf = strcmp(s1,s2)
tf = 2x2 logical array

   0   0
   1   1

Puede comparar y ordenar matrices de cadenas con operadores relacionales, al igual que puede con matrices numéricas.

Utilice == para determinar qué elementos de dos matrices de cadena son iguales.

s1 == s2
ans = 2x2 logical array

   0   0
   1   1

Utilice < para determinar qué elementos de s1 son menores que los elementos correspondientes de s2 según el orden del diccionario ASCII.

s1 < s2
ans = 2x2 logical array

   1   1
   0   0

Las funciones de procesamiento de texto (como strfind y regexp) aceptan matrices de cadenas como entradas, pero otras funciones (por ejemplo, addpath) no lo hacen.

Argumentos de entrada

contraer todo

Texto de entrada, con cada entrada especificada como vector de caracteres, una matriz de caracteres, una matriz de vectores de caracteres o una matriz de cadenas. El orden de las entradas no afecta los resultados de la comparación.

  • Si tanto s1 como s2 son matrices de cadenas o matrices de vectores de caracteres, a continuación, s1 y s2 deben tener el mismo tamaño, a menos que uno de ellos sea Escalar.

  • Si tanto s1 como s2 son matrices de caracteres con varias filas, s1 y s2 pueden tener diferentes números de filas.

  • Al comparar una matriz de celdas no escalar de vectores de caracteres o una matriz de cadenas a una matriz de caracteres MultiRow, la matriz de celdas o la matriz de cadenas debe ser un vector de columna con el mismo número de filas que la matriz de caracteres.

Tipos de datos: char | cell | string

Argumentos de salida

contraer todo

Resultado verdadero o falso, devuelto como 1 o 0 de tipo de datos logical.

  • Si cada entrada es una cadena escalar, una celda escalar o un vector de carácter, tf es un escalar.

  • Si al menos una entrada es una matriz de cadenas o una matriz de vectores de caracteres, tf es una matriz del mismo tamaño que la matriz de entrada.

  • Si una entrada es una matriz de caracteres con varias filas, y la otra entrada es una celda escalar o una cadena escalar, entonces tf es un n-by-1 array, donde n es el número de filas de la matriz de caracteres.

  • Si ambas entradas son matrices de caracteres, tf es un escalar.

Sugerencias

  • La función strcmp está diseñada para la comparación de texto. Si se utiliza en tipos de datos no compatibles, strcmp siempre devuelve 0.

  • Para la comparación de texto sin distinción entre mayúsculas y minúsculas, utilice strcmpi en lugar de strcmp.

  • Aunque strcmp comparte un nombre con una función c, no sigue la Convención de lenguaje c de devolver 0 cuando las entradas de texto coinciden.

  • Con arreglos de cadenas, los operadores relacionales (==, ~=, <, >, <= , >= ) en lugar de strcmp. Puede comparar y ordenar arreglos de cadenas de la misma manera que se puede con matrices numéricas.

Capacidades ampliadas

Consulte también

| | | | sort ne sort | | |

Introducido antes de R2006a