strcmp

Синтаксис

Описание

пример

tf = strcmp(s1,s2) сравнивает s1 и s2 и возвращает 1 TRUE) если эти два идентичны и 0 ложь) в противном случае. Текст рассматривается идентичным, если размер и содержимое каждого являются тем же самым. Возвращать результат tf имеет тип данных logical.

Входные параметры могут быть любой комбинацией строковых массивов, векторов символов и массивов ячеек из символьных векторов.

Примеры

свернуть все

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

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

strcmp возвращает 0 потому что s1 и s2 не равны.

Сравните два равных вектора символов.

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

strcmp возвращает 1 потому что s1 и s2 равны.

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

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

   0   1
   0   0

Существует только одно вхождение s1 в массиве s2, и это происходит в элементе s2(1,2).

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

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

Существует три экземпляра равных элементов в s1 и s2. Это 'Time' в индексах (1,1)когда в индексах (1,3), и 'you''re' в индексах (2,1).

Начиная в R2017a, можно создать строки с помощью двойных кавычек. Сравните строковые массивы с помощью strcmp.

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

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

   0   0
   1   1

Можно соответствовать и строковые массивы вида операторам отношения, как вы можете с числовыми массивами.

Используйте == определить, какие элементы двух строковых массивов равны.

s1 == s2
ans = 2x2 logical array

   0   0
   1   1

Используйте < определить который элементы s1 меньше соответствующих элементов s2 согласно лексикографическому порядку ASCII.

s1 < s2
ans = 2x2 logical array

   1   1
   0   0

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

свернуть все

Введите текст, с каждым входом, заданным как вектор символов, символьный массив, массив ячеек из символьных векторов или массив строк. Порядок входных параметров не влияет на результаты сравнения.

  • Если оба s1 и s2 строковые массивы или массивы ячеек из символьных векторов, затем s1 и s2 должен быть одного размера, если один из них не является скаляром.

  • Если оба s1 и s2 символьные массивы с несколькими строками, затем s1 и s2 может иметь различные количества строк.

  • При сравнении нескалярного массива ячеек из символьных векторов или массива строк к многострочному символьному массиву, массив ячеек или массив строк должны быть вектор-столбцом с одинаковым числом строк как символьный массив.

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

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

свернуть все

Истинный или ложный результат, возвращенный как 1 или 0 из типа данных logical.

  • Если каждый вход является или строковым скаляром, скалярной ячейкой или вектором символов, то tf скаляр.

  • Если по крайней мере один вход является или массивом строк или массивом ячеек из символьных векторов, то tf массив тот же размер как входной массив.

  • Если один вход является символьным массивом с несколькими строками, и другой вход является или скалярной ячейкой или строковым скаляром, то tf n- 1 массив, где n количество строк в символьном массиве.

  • Если оба входных параметров являются символьными массивами, tf скаляр.

Советы

  • strcmp функция предназначается для сравнения текста. Если используется на неподдерживаемых типах данных, strcmp всегда возвращает 0.

  • Для нечувствительного к регистру текстового сравнения используйте strcmpi вместо strcmp.

  • Несмотря на то, что strcmp совместно использует имя с функцией C, это не следует соглашению языка C возврата 0 когда вводы текста соответствуют.

  • Со строковыми массивами можно использовать операторы отношения (==, ~=, <, >, <=, >=) вместо strcmp. Можно выдержать сравнение и строковые массивы вида, как вы можете с числовыми массивами.

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

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

| | | | | | | |

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