Hauptinhalt

strcmpi

Vergleichen von Strings (unabhängig von Groß- und Kleinschreibung)

Beschreibung

tf = strcmpi(s1,s2) vergleicht s1 mit s2 ungeachtet Unterschieden bei Groß- und Kleinschreibung und gibt 1 (true) zurück, wenn die zwei Zeichenfolgen identisch sind, andernfalls gibt die Funktion 0 (false) zurück. Text wird als identisch betrachtet, wenn Größe und Inhalt des Textes identisch sind, ungeachtet der Groß- und Kleinschreibung. Das zurückgegebene Ergebnis tf weist den Datentyp logical auf.

Die Eingabeargumente können eine beliebige Kombination aus String Arrays, Zeichenvektoren und Zellenarrays aus Zeichenvektoren sein.

Beispiel

Beispiele

alle reduzieren

Vergleichen Sie zwei verschiedene Zeichenvektoren, ungeachtet von Unterschieden bei Groß- und Kleinschreibung

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

strcmpi gibt 0 zurück, da s1 und s2 nicht gleich sind, auch ungeachtet der Groß- und Kleinschreibung.

Vergleichen Sie zwei gleiche Zeichenvektoren.

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

strcmpi gibt 1 zurück, da s1 und s2 gleich sind, wenn Groß- und Kleinschreibung nicht beachtet werden.

Suchen Sie in einem Zellenarray aus Zeichenvektoren Text, der dem Begriff 'once' entspricht. Ignorieren von Groß-/Kleinschreibung.

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

   1   0
   0   0

Wird die Groß- und Kleinschreibung ignoriert, kommt s1 im Array s2 einmal vor, bei Element s2(1,1).

Erstellen Sie zwei Zellenarrays mit Zeichenvektoren. Verwenden Sie zum Vergleich ungeachtet der Groß- und Kleinschreibung die Funktion strcmpi.

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

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

   1   0
   0   1

tf(1,1) ist 1, da 'Tinker' sich in der ersten Zelle beider Arrays befindet. tf(2,2) ist 1, da 'Spy' und 'SPY' sich nur hinsichtlich der Großschreibung unterscheiden. tf(2,1) ist 0, da ' Soldier' in s1(2,1) Leerstellen aufweist und 'Soldier' in s2(2,1) nicht.

Vergleichen zweier String Arrays ungeachtet von Groß- und Kleinschreibung mithilfe von strcmpi.

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

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

   0   0
   1   1

Eingabeargumente

alle reduzieren

Eingabetext, bei dem jede Eingabe als Zeichenvektor, Character Array (Zeichenarray), Zellenarray aus Zeichenvektoren oder String Array angegeben wird. Die Reihenfolge der Eingaben wirkt sich nicht auf die Vergleichsergebnisse aus.

  • Wenn sowohl s1 als auch s2 String Arrays oder Zellenarrays aus Zeichenvektoren sind, müssen s1 und s2 dieselbe Größe aufweisen, wenn es sich nicht bei einem dieser Elemente um einen Skalar handelt.

  • Wenn sowohl s1 als auch s2 Character Arrays (Zeichenarrays) mit mehreren Zeilen sind, können s1 und s2 eine unterschiedliche Zeilenanzahl aufweisen.

  • Wenn Sie ein nichtskalares Zellenarray aus Zeichenvektoren oder ein String Array mit einem mehrzeiligen Character Array vergleichen, muss es sich bei dem Zellenarray oder String Array um einen Spaltenvektor mit derselben Zeilenanzahl wie das Character Array handeln.

Datentypen: char | cell | string

Ausgabeargumente

alle reduzieren

Wahres oder falsches Ergebnis, zurückgegeben als 1 oder 0 mit dem Datentyp logical.

  • Wenn es sich bei jeder Eingabe um einen String-Skalar oder einen Zeichenvektor handelt, ist tf ein Skalar.

  • Wenn mindestens eine Eingabe ein String Array oder ein Zellenarray aus Zeichenvektoren ist, ist tf ein Array mit derselben Größe wie das Eingabearray.

  • Wenn eine Eingabe ein Zeichenarray mit mehreren Zeilen und die andere Eingabe entweder eine Skalarzelle oder ein Zeichenfolgenskalar ist, ist tf ein nx1-Array, bei dem n der Zeilenanzahl im Character Array entspricht.

  • Wenn beide Eingaben Character Arrays sind, ist tf ein Skalar.

Tipps

  • Die strcmpi-Funktion ist für den Vergleich von Text gedacht. Wird strcmpi bei nicht unterstützten Datentypen verwendet, gibt es immer 0 zurück.

  • Verwenden Sie zum Textvergleich ohne Berücksichtigung von Groß- und Kleinschreibung strcmp statt strcmpi.

  • Die strcmpi-Funktion hat denselben Namen wie eine Funktion von C, befolgt aber nicht die Konvention der Sprache C, bei übereinstimmenden Texteingaben 0 zurückzugeben.

Erweiterte Fähigkeiten

alle erweitern

Versionsverlauf

Eingeführt vor R2006a