Contenu principal

contains

Déterminer si un motif figure dans des chaînes de caractères

Description

TF = contains(str,pat) renvoie 1 (true) si str contient le motif spécifié et 0 (false) dans le cas contraire.

Si pat est un tableau contenant plusieurs motifs, contains renvoie 1 si l’un des éléments de pat figure dans str.

Si str est un tableau de chaînes de caractères ou un cell array, TF est un tableau logique de même taille que str.

exemple

TF = contains(str,pat,'IgnoreCase',true) ignore la casse pour déterminer si str contient pat.

exemple

Exemples

réduire tout

Créez un tableau de chaînes de caractères avec des noms, dont certains contiennent Paul.

Vous pouvez créer des chaînes de caractères avec des guillemets anglais.

str = ["Mary Ann Jones","Paul Jay Burns","John Paul Smith"]
str = 1×3 string
    "Mary Ann Jones"    "Paul Jay Burns"    "John Paul Smith"

Renvoyez un tableau logique où la position de chaque élément égal à 1 correspond à la position d’une chaîne de caractères de str contenant Paul.

pat = "Paul";
TF = contains(str,pat)
TF = 1×3 logical array

   0   1   1

Affichez les chaînes de caractères qui contiennent Paul. Réindexez str avec TF.

str(TF)
ans = 1×2 string
    "Paul Jay Burns"    "John Paul Smith"

Depuis la version R2020b

Créez un tableau de chaînes de caractères contenant des adresses.

str = ["221B Baker St.","Tour Eiffel Champ de Mars","4059 Mt Lee Dr."]
str = 1×3 string
    "221B Baker St."    "Tour Eiffel Champ de Mars"    "4059 Mt Lee Dr."

Pour rechercher les adresses qui contiennent des nombres, créez un motif correspondant à un nombre arbitraire de chiffres avec la fonction digitsPattern.

pat = digitsPattern
pat = pattern
  Matching:

    digitsPattern

Renvoyez un tableau logique indiquant quelles chaînes de caractères contiennent des chiffres. Affichez les chaînes de caractères correspondantes.

TF = contains(str,pat)
TF = 1×3 logical array

   1   0   1

str(TF)
ans = 1×2 string
    "221B Baker St."    "4059 Mt Lee Dr."

Recherchez les chaînes de caractères contenant une série de chiffres suivie d’une seule lettre. Vous pouvez créer des motifs plus complexes en combinant des motifs simples.

pat = digitsPattern + lettersPattern(1)
pat = pattern
  Matching:

    digitsPattern + lettersPattern(1)

TF = contains(str,pat);
str(TF)
ans = 
"221B Baker St."

Pour une liste des fonctions qui créent des objets pattern, consultez pattern.

Créez un tableau de chaînes de caractères avec des noms dont certains contiennent soit Ann, soit Paul.

str = ["Mary Ann Jones","Christopher Matthew Burns","John Paul Smith"]
str = 1×3 string
    "Mary Ann Jones"    "Christopher Matthew Burns"    "John Paul Smith"

Recherchez les éléments de str qui contiennent soit Ann, soit Paul.

pat = ["Ann","Paul"];
TF = contains(str,pat)
TF = 1×3 logical array

   1   0   1

Réindexez str avec TF.

str(TF)
ans = 1×2 string
    "Mary Ann Jones"    "John Paul Smith"

Créez un tableau de chaînes de caractères contenant des noms. Déterminez quels noms contiennent anne en ignorant la casse.

Vous pouvez créer des chaînes de caractères avec des guillemets anglais.

str = ["Anne","Elizabeth","Marianne","Tracy"]
str = 1×4 string
    "Anne"    "Elizabeth"    "Marianne"    "Tracy"

pat = "anne";
TF = contains(str,pat,'IgnoreCase',true)
TF = 1×4 logical array

   1   0   1   0

Affichez les chaînes de caractères qui contiennent anne. Réindexez str avec TF.

str(TF)
ans = 1×2 string
    "Anne"    "Marianne"

Créez un vecteur de caractères contenant une liste d’aliments. Déterminez si les noms de différents aliments figurent dans le vecteur de caractères.

chr = 'peppers, onions, and mushrooms';
TF = contains(chr,'onion')
TF = logical
   1

TF = contains(chr,'pineapples')
TF = logical
   0

Arguments d'entrée

réduire tout

Texte en entrée, spécifié sous forme de tableau de chaînes de caractères, de vecteur de caractères ou de cell array de vecteurs de caractères.

Motif à rechercher, spécifié sous une des formes suivantes :

  • Tableau de chaînes de caractères

  • Vecteur de caractères

  • Cell array de vecteurs de caractères

  • Tableau pattern (depuis la version R2020b)

Capacités étendues

développer tout

Historique des versions

Introduit dans R2016b