Hauptinhalt

contains

R2026b

Bestimmen, ob Namen von Zeichenfolgen oder Kategorien ein Muster enthalten

Beschreibung

TF = contains(str,pat) gibt 1 (true) aus, wenn str das angegebene Muster umfasst und gibt andernfalls 0 (false) aus.

Wenn pat ein Array mit mehreren Mustern ist, gibt contains 1 zurück, wenn Elemente von pat in str gefunden werden.

Wenn es sich bei str um ein String Array oder Kategorie-Array handelt, ist TF ein logisches Array mit derselben Größe wie str.

Beispiel

TF = contains(str,pat,IgnoreCase=true) ignoriert Groß- und Kleinschreibung bei der Ermittlung, ob str pat enthält.

Beispiel

Beispiele

alle reduzieren

Erstellen Sie ein String Array aus Namen, in dem einige Namen Paul enthalten.

Sie können Zeichenfolgen mit doppelten Anführungszeichen erstellen.

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

Geben Sie ein logisches Array zurück, in dem die Position jedes Elements gleich 1 der Position einer Zeichenfolge in str, die Paul enthält, entspricht.

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

   0   1   1

Zeigen Sie die Zeichenfolgen, die Paul enthalten, an. Indizieren Sie mithilfe von TF wieder in str.

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

Erstellen Sie ein String Array mit Adressen.

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."

Um Adressen zu finden, die Zahlen enthalten, erstellen Sie ein Muster, das mithilfe der digitsPattern-Funktion eine beliebige Anzahl von Ziffern abgleicht.

pat = digitsPattern
pat = pattern
  Matching:

    digitsPattern

Geben Sie ein logisches Array aus, das angibt, welche Zeichenfolgen Ziffern enthalten. Zeigen Sie die übereinstimmenden Zeichenfolgen an.

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."

Suchen Sie Zeichenfolgen, die eine Sequenz von Ziffern gefolgt von einem Buchstaben enthalten. Sie können einfache Muster kombinieren, um komplexere Muster zu erstellen.

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

    digitsPattern + lettersPattern(1)

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

Eine Liste der Funktionen, die Musterobjekte erstellen, finden Sie unter pattern.

Erstellen Sie ein String Array aus Namen, in dem einige Namen entweder Ann oder Paul enthalten.

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

Suchen Sie die Elemente von str, die entweder Ann oder Paul enthalten.

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

   1   0   1

Indizieren Sie mithilfe von TF wieder in str.

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

Erstellen Sie ein String Array, das Namen enthält. Ermitteln Sie, welche Namen anne enthalten, wobei Groß- und Kleinschreibung ignoriert wird.

Sie können Zeichenfolgen mit doppelten Anführungszeichen erstellen.

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

Zeigen Sie die Zeichenfolgen, die anne enthalten, an. Indizieren Sie mithilfe von TF wieder in str.

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

Erstellen Sie einen Zeichenvektor, der eine Liste mit Lebensmitteln enthält. Ermitteln Sie, ob die Namen verschiedener Lebensmittel im Zeichenvektor enthalten sind.

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

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

Seit R2026b

Laden Sie Daten zu Ausfällen von Stromversorgungseinrichtungen in den USA als Tabelle. Konvertieren Sie die Variable Cause in ein Kategorie-Array.

T = readtable("outages.csv");
T.Cause = categorical(T.Cause);

Bestimmen Sie, ob die Kategorienamen von Cause "storm" enthalten. Die contains-Funktion gibt ein logisches Array zurück, mit dem angegeben wird, welche Elemente im Kategorie-Array Cause Kategorienamen aufweisen, die "storm" enthalten.

TF = contains(T.Cause,"storm",IgnoreCase=true)
TF = 1468×1 logical array

   1
   1
   1
   0
   1
   0
   0
   0
   0
   0
   0
   0
   1
   1
   1
      ⋮

Zeigen Sie nur die Zeilen der Tabelle an, in denen die Ursache "storm" enthält.

T(TF,:)
ans = 684×6 table
       Region           OutageTime        Loss     Customers     RestorationTime        Cause    
    _____________    ________________    ______    __________    ________________    ____________

    {'SouthWest'}    2002-02-01 12:18    458.98    1.8202e+06    2002-02-07 16:50    winter storm
    {'SouthEast'}    2003-01-23 00:49    530.14    2.1204e+05                 NaT    winter storm
    {'SouthEast'}    2003-02-07 21:15     289.4    1.4294e+05    2003-02-17 08:14    winter storm
    {'MidWest'  }    2002-03-16 06:18    186.44    2.1275e+05    2002-03-18 23:23    severe storm
    {'SouthEast'}    2002-09-01 18:22    95.917         36759    2002-09-01 19:12    severe storm
    {'SouthEast'}    2003-09-27 07:32       NaN    3.5517e+05    2003-10-04 07:02    severe storm
    {'West'     }    2003-11-12 06:12    254.09    9.2429e+05    2003-11-17 02:04    winter storm
    {'NorthEast'}    2004-11-13 10:42       NaN    1.4227e+05    2004-11-19 02:31    winter storm
    {'SouthEast'}    2004-12-06 23:18       NaN         37136    2004-12-14 03:21    winter storm
    {'SouthEast'}    2002-12-12 18:08    46.918    1.0698e+05    2002-12-14 18:43    winter storm
    {'West'     }    2004-12-21 18:50    112.05     7.985e+05    2004-12-29 03:46    winter storm
    {'West'     }    2002-12-16 13:43    70.752    4.8193e+05    2002-12-19 09:38    winter storm
    {'NorthEast'}    2004-12-26 22:18    255.45    1.0444e+05    2004-12-27 14:11    winter storm
    {'NorthEast'}    2003-12-17 15:11       NaN         66692    2003-12-19 07:22    winter storm
    {'SouthEast'}    2005-03-08 16:37    1339.2    4.3003e+05    2005-03-10 20:42    winter storm
    {'MidWest'  }    2002-03-26 01:59    388.04    5.6422e+05    2002-03-28 19:55    winter storm
      ⋮

.

Eingabeargumente

alle reduzieren

Eingabearray, angegeben als String Array, Zeichenvektor, Zellenarray aus Zeichenvektoren oder Kategorie-Array (seit R2026b).

Suchmuster, angegeben als eine der folgenden Optionen:

  • String Array

  • Zeichenvektor

  • Zellenarray aus Zeichenvektoren

  • pattern-Array

Tipps

  • Eine Zeichenfolge ohne Zeichen ("") oder ein Zeichenvektor ohne Zeichen ('') ist eine Unterzeichenfolge von jeder Zeichenfolge. Daher findet contains solche Unterzeichenfolgen in jedem Eingabetext. Weitere Informationen finden Sie unter Test for Empty Strings and Missing Values.

Erweiterte Fähigkeiten

alle erweitern

Versionsverlauf

Eingeführt in R2016b

alle erweitern