Main Content

strcmp

Descripción

ejemplo

tf = strcmp(s1,s2) compara s1 y s2 y devuelve 1 (true) si ambos argumentos son idénticos y 0 (false) si no lo son. El texto se considera idéntico si el tamaño y el contenido de cada argumento son iguales. El resultado devuelto tf es de tipo de datos logical.

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

Ejemplos

contraer todo

Compare 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.

Compare 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.

Encuentre la palabra 'upon' en un arreglo 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

Solo aparece s1 una vez en el arreglo s2 y ocurre en el elemento s2(1,2).

Compare cada elemento en dos arreglos de celdas 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 casos de elementos iguales en s1 y s2: 'Time' en los índices (1,1), 'when' en los índices (1,3) y 'you''re' en los índices (2,1).

Compare arreglos de cadenas utilizando 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 arreglos de cadenas con operadores relacionales, al igual que con arreglos numéricos.

Utilice == para determinar qué elementos de dos arreglos de cadenas 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

Argumentos de entrada

contraer todo

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

  • Si tanto s1 como s2 son arreglos de cadenas o arreglos de celdas de vectores de caracteres, s1 y s2 deben ser del mismo tamaño, a menos que uno de ellos sea escalar.

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

  • Cuando se compara un arreglo de celdas de vectores de caracteres no escalar o un arreglo de cadenas con un arreglo de caracteres de varias filas, el arreglo de celdas o el arreglo de cadenas debe ser un vector columna con el mismo número de filas que el arreglo de caracteres.

Tipos de datos: char | cell | string

Argumentos de salida

contraer todo

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

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

  • Si al menos una entrada es un arreglo de cadenas o un arreglo de celdas de vectores de caracteres, tf es un arreglo del mismo tamaño que el arreglo de entrada.

  • Si una entrada es un arreglo de caracteres con varias filas y la otra entrada es una celda escalar o una cadena escalar, tf es un arreglo de n por 1, donde n es el número de filas del arreglo de caracteres.

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

Sugerencias

  • La función strcmp tiene por objetivo la comparación de textos. Si se utiliza en tipos de datos no compatibles, strcmp siempre devuelve 0.

  • Para comparar texto sin distinguir entre mayúsculas y minúsculas, utilice strcmpi en lugar de strcmp.

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

  • Con arreglos de cadenas, puede utilizar operadores relacionales (==, ~=, <, >, <=, >=) en lugar de strcmp. Puede comparar y ordenar arreglos de cadenas, del mismo modo que con arreglos numéricos.

Capacidades ampliadas

Historial de versiones

Introducido antes de R2006a

Consulte también

| | | | | | | |