strcmp

Синтаксис

Описание

пример

tf = strcmp(s1,s2) сравнивает s1 и s2 и возвращает 1 (true) если эти два идентичны и 0 (false) в противном случае. Текст считается идентичным, если размер и содержимое каждого совпадают. Результат возврата 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), 'when' в индексах (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-by- 1 массив, где n - количество строк в символьный массив.

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

Совет

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

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

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

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

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

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