strcmpi

Сравните (нечувствительные к регистру) строки

Синтаксис

tf = strcmpi(s1,s2)

Описание

пример

tf = strcmpi(s1,s2) сравнивает s1 и s2, игнорируя любые различия в регистре. Функция возвращает 1 (true), если эти два идентичны и 0 (false) в противном случае. Текст рассматривается идентичным, если размер и содержимое каждого являются тем же самым кроме случая. Результат возврата tf имеет тип данных logical.

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

Примеры

свернуть все

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

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

strcmpi возвращает 0, потому что s1 и s2 не равны, игнорируя регистр.

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

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

strcmpi возвращает 1, потому что s1 и s2 равны при игнорировании регистра.

Найдите текст, который распознает слово 'once' в массиве ячеек из символьных векторов. Игнорирование регистра.

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

   1   0
   0   0

Когда вы игнорируете регистр, существует одно возникновение s1 в массиве s2, и это происходит в элементе s2(1,1).

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

s1 = {'Tinker', 'Tailor';
      '  Soldier', 'Spy'};
s2 = {'Tinker', 'Baker';
      'Soldier', 'SPY'};

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

   1   0
   0   1

tf(1,1) является 1, потому что 'Tinker' находится в первой ячейке обоих массивов. tf(2,2) является 1, потому что 'Spy' и 'SPY' отличаются только в случае, если. tf(2,1) является 0, потому что ' Soldier' в s1(2,1) имеет пробельные символы, и 'Soldier' в s2(2,1) не делает.

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

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

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

   0   0
   1   1

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

свернуть все

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

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

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

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

Типы данных: char | ячейка | строка

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

свернуть все

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

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

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

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

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

Советы

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

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

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

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

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

| | | | | | | |

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

Была ли эта тема полезной?