Text in String Arrays und Character Arrays
Es gibt zwei Möglichkeiten, Text in MATLAB® darzustellen. Sie können Text in String Arrays und Zeichenvektoren speichern. MATLAB zeigt Zeichenfolgen mit doppelten Anführungszeichen und Zeichenvektoren mit einfachen Anführungszeichen an.
Darstellen von Text mit String Arrays
Sie können beliebige 1-mal-n-Zeichenfolgen mit dem Datentyp string als String speichern. Setzen Sie Text in doppelte Anführungszeichen, um einen String zu erstellen.
str = "Hello, world"str = "Hello, world"
Obwohl der Text "Hello, world" 12 Zeichen lang ist, ist str selbst ein 1-mal-1-String oder Zeichenfolgenskalar. Sie können einen Zeichenfolgenskalar verwenden, um einen Dateinamen, ein Diagramm-Label oder andere Textdaten anzugeben.
Verwenden Sie zum Ermitteln der Zeichenanzahl in einer Zeichenfolge die Funktion strlength.
n = strlength(str)
n = 12
Wenn der Text doppelte Anführungszeichen umfasst, verwenden Sie innerhalb der Definition zwei doppelte Anführungszeichen.
str = "They said, ""Welcome!"" and waved."str = "They said, "Welcome!" and waved."
Zum Hinzufügen von Text zum Ende einer Zeichenfolge verwenden Sie den Plusoperator, +. Kann eine Variable zu einem String konvertiert werden, lässt sie sich mithilfe von plus konvertieren und anhängen.
fahrenheit = 71; celsius = (fahrenheit-32)/1.8; tempText = "temperature is " + celsius + "C"
tempText = "temperature is 21.6667C"
Mit der Funktion append können Sie Text verketten.
tempText2 = append("Today's ",tempText)tempText2 = "Today's temperature is 21.6667C"
Die Funktion string kann verschiedene Eingabetypen wie numerische Werte, Datum-Zeit-Werte, Zeitdauerwerte und kategorische Werte konvertieren. Konvertieren Sie beispielsweise die Ausgabe von pi in einen String.
ps = string(pi)
ps = "3.1416"
Sie können mehrere Texte in einem String Array speichern. Jedes Element des Arrays kann einen String mit unterschiedlicher Zeichenanzahl enthalten, ohne Padding.
str = ["Mercury","Gemini","Apollo";... "Skylab","Skylab B","ISS"]
str = 2×3 string
"Mercury" "Gemini" "Apollo"
"Skylab" "Skylab B" "ISS"
str ist ein 2-mal-3-String Array. Mit der Funktion strlength können Sie die Längen der Strings ermitteln.
N = strlength(str)
N = 2×3
7 6 6
6 8 3
Alle MATLAB und MathWorks® Produkte unterstützen String Arrays. Funktionen, die Character Arrays (und Zellenarrays mit Zeichenvektoren) als Eingabe akzeptieren, akzeptieren ebenfalls String Arrays.
Darstellen von Text mit Zeichenvektoren
Um eine 1-mal-n-Zeichenfolge mit dem Datentyp char als Zeichenvektor zu speichern, setzen Sie sie in einfache Anführungszeichen.
chr = 'Hello, world'chr = 'Hello, world'
Der Text 'Hello, world' umfasst 12 Zeichen und chr speichert ihn als 1-mal-12-Zeichenvektor.
whos chrName Size Bytes Class Attributes chr 1x12 24 char
Wenn der Text einfache Anführungszeichen umfasst, verwenden Sie innerhalb der Definition zwei einfache Anführungszeichen.
chr = 'They said, ''Welcome!'' and waved.'chr = 'They said, 'Welcome!' and waved.'
Zeichenvektoren haben zwei hauptsächliche Anwendungsfälle:
Angabe von einzelnen Textabschnitten wie Dateinamen und Diagramm-Labeln.
Darstellung von Daten, die mit Zeichen codiert sind. In diesen Fällen könnte einfacher Zugriff auf einzelne Zeichen nützlich sein.
Beispielsweise können Sie eine DNA-Sequenz als Zeichenvektor speichern.
seq = 'GCTAGAATCC';Wie bei einem numerischen Array können Sie per Indizierung auf einzelne Zeichen und Zeichen-Untermengen zugreifen.
seq(4:6)
ans = 'AGA'
Wie bei anderen Arraytypen können Sie einen Zeichenvektor mit eckigen Klammern verketten.
seq2 = [seq 'ATTAGAAACC']seq2 = 'GCTAGAATCCATTAGAAACC'
Zudem können Sie Text mithilfe von append verketten. Die Funktion append wird empfohlen, da sie String Arrays, Zeichenvektor und Zellenarrays mit Zeichenvektoren konsistent verarbeitet.
seq2 = append(seq,'ATTAGAAACC')seq2 = 'GCTAGAATCCATTAGAAACC'
MATLAB-Funktionen, die String Arrays als Eingabe akzeptieren, akzeptieren ebenfalls Zeichenvektoren und Zellenarrays mit Zeichenvektoren.
Siehe auch
string | char | cellstr | strlength | plus | horzcat | append