exponenta event banner

strncmpi

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

Синтаксис

Описание

пример

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

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

Примеры

свернуть все

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

s1 = 'DATA.TAR.GZ';
s2 = 'data-samples.xls';

tf = strncmpi(s1,s2,4)
tf = logical
   1

tf является 1 потому что s1 начинается с 'DATA', и s2 начинается с 'data'.

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

s1 = ["Jacques";
      "Jean";
      "Jeanne";
      "Jean-Luc";
      "Julie"];
s2 = "JEAN";

tf = strncmpi(s1,s2,4)
tf = 5x1 logical array

   0
   1
   1
   1
   0

tf является 1 для всех имен, первые четыре символа которых совпадают 'JEAN' при игнорировании обращения.

Кроме того, можно использовать startsWith функция.

tf = startsWith(s1,s2,'IgnoreCase',true)
tf = 5x1 logical array

   0
   1
   1
   1
   0

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

свернуть все

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

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

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

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

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

Максимальное количество сравниваемых символов, указанное как целое число.

  • Если n является 0, то strncmpi всегда возвращается 1. По условию нулевой символ вектора символов или строкового скаляра всегда '', a 0около-0 символьный массив.

  • Если n меньше, чем 0, то strncmpi рассматривает его как 0.

Типы данных: double | single | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

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

свернуть все

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

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

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

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

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

Совет

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

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

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

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

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