Contenuto principale

strcmpi

Confrontare stringhe (senza distinzione tra maiuscole e minuscole)

Descrizione

tf = strcmpi(s1,s2) confronta s1 e s2, ignorando qualsiasi differenza tra lettere maiuscole e minuscole, e restituisce 1 (true) se i due valori sono identici, oppure 0 (false) in caso contrario. Il testo è considerato identico se le dimensioni e il contenuto sono gli stessi, a prescindere dalle maiuscole/minuscole. Il risultato di ritorno tf è del tipo di dati logical.

Gli argomenti di input possono essere qualsiasi combinazione di array di stringhe, vettori di caratteri e array di celle di vettori di caratteri.

esempio

Esempi

comprimi tutto

Confrontare due vettori di caratteri diversi, ignorando qualsiasi differenza tra lettere maiuscole e minuscole.

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

strcmpi restituisce 0 in quanto s1 e s2 non sono uguali, anche ignorando le maiuscole/minuscole.

Confrontare due vettori di caratteri uguali.

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

strcmpi restituisce 1 in quanto s1 e s2 sono uguali quando si ignorano le maiuscole/minuscole.

Individuare il testo che corrisponde alla parola 'once' in un array di celle di vettori di caratteri. Indifferenza alle maiuscole/minuscole.

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

   1   0
   0   0

Quando si ignorano le maiuscole/minuscole, è presente un'occorrenza di s1 nell'array s2 che si verifica nell'elemento s2(1,1).

Creare due array di celle di vettori di caratteri. Per confrontarli ignorando le maiuscole/minuscole, utilizzare la funzione 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) è 1 perché 'Tinker' si trova nella prima cella di entrambi gli array. tf(2,2) è 1 perché 'Spy' e 'SPY' differiscono solo per le maiuscole/minuscole. tf(2,1) è 0 perché ' Soldier' in s1(2,1) contiene caratteri di spazio bianco, mentre 'Soldier' in s2(2,1) non li contiene.

Confrontare due array di stringhe, ignorando le maiuscole/minuscole, utilizzando strcmpi.

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

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

   0   0
   1   1

Argomenti di input

comprimi tutto

Testo di input, con ciascun input specificato come vettore di caratteri, array di caratteri, array di celle di vettori di caratteri o array di stringhe. L'ordine degli input non influisce sui risultati del confronto.

  • Se entrambi s1 e s2 sono array di stringhe o array di celle di vettori di caratteri, s1 e s2 devono avere la stessa dimensione, a meno che uno dei due non sia scalare.

  • Se entrambi s1 e s2 sono array di caratteri con più righe, s1 e s2 possono avere un numero diverso di righe.

  • Quando si confronta un array di celle di vettori di caratteri non scalare o un array di stringhe non scalare con un array di caratteri a più righe, l'array di celle o l'array di stringhe deve essere un vettore colonna con lo stesso numero di righe dell'array di caratteri.

Tipi di dati: char | cell | string

Argomenti di output

comprimi tutto

Risultato vero o falso, restituito come 1 o 0 del tipo di dati logical.

  • Se ciascun input è uno scalare di stringa o un vettore di caratteri, tf è uno scalare.

  • Se almeno un input è un array di stringhe o un array di celle di vettori di caratteri, tf è un array con la stessa dimensione dell'array di input.

  • Se un input è un array di caratteri con più righe e l'altro input è una cella scalare o uno scalare di stringa, tf è un array nx1, dove n è il numero di righe nell'array di caratteri.

  • Se entrambi gli input sono array di caratteri, tf è uno scalare.

Suggerimenti

  • La funzione strcmpi è concepita per il confronto di testi. Se è utilizzata su un tipo di dato non supportato, strcmpi restituisce sempre 0.

  • Per il confronto di testo con distinzione tra maiuscole e minuscole, utilizzare strcmp invece di strcmpi.

  • Sebbene strcmpi condivida un nome con una funzione C, non segue la convenzione del linguaggio C di restituire 0 quando gli input di testo corrispondono.

Funzionalità estese

espandi tutto

Cronologia versioni

Introduzione prima di R2006a