Hauptinhalt

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 chr
  Name      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

| | | | | |

Themen