|
2.7.1 Eigenschaften von Zeichenketten
Sehr viel von dem, was Mathematica leistet, dreht sich um die Manipulation strukturierter Ausdrücke. Mit Mathematica können Sie aber auch unstrukturierte Text-Zeichenketten bearbeiten.
Text-Zeichenketten
Bei der Eingabe einer Text-Zeichenkette in Mathematica müssen Sie diese immer in Anführungszeichen einschließen. Wenn Mathematica die Zeichenkette ausgibt, zeigt es in der Regel die Anführungszeichen aber nicht.
Sie können die Anführungszeichen sehen, wenn Sie nach der Eingabeform der Zeichenkette fragen. Außerdem erscheinen Anführungszeichen in einem Mathematica-Notebook in der Regel automatisch, sobald Sie anfangen, eine Zeichenkette zu bearbeiten.
Wenn Mathematica eine Zeichenkette ausgibt, zeigt es die Anführungszeichen nicht explizit.
In[1]:= "Hier ist etwas Text."
Out[1]= 
Sie werden die Anführungszeichen jedoch sehen, wenn Sie nach der Eingabeform der Zeichenkette fragen.
In[2]:= InputForm[%]
Out[2]//InputForm= "Hier ist etwas Text."
Daß die einschließenden Anführungszeichen bei einer Zeichenkette in Mathematicas Standard-Ausgabeformat nicht zu sehen sind, ist wichtig, wenn man Zeichenketten zur Erzeugung von Ausgabeformen einsetzen will.
Die Zeichenketten werden ohne Anführungszeichen gedruckt.
In[3]:= Print["Der Wert ist ", 567, "."]

Obwohl das Symbol x und die Zeichenkette "x" im Standard-Ausgabeformat gleich aussehen, sind sie jedoch verschiedene Objekte.
Das Symbol x und die Zeichenkette "x" sind verschiedene Objekte.
In[4]:= "x" === x
Out[4]= 
Durch Betrachten des Kopfes können Sie prüfen, ob ein Ausdruck eine Zeichenkette ist: Alle Zeichenketten haben den Kopf String.
Alle Zeichenketten haben den Kopf String.
In[5]:= Head["x"]
Out[5]= 
Das Muster _String paßt zu beliebigen Zeichenketten.
In[6]:= Cases[{"ab", x, "a", y}, _String]
Out[6]= 
Sie können Zeichenketten genauso wie andere Ausdrücke als Elemente in Mustern und Transformationsregeln benutzen. Sie können jedoch Zeichenketten nicht direkt Werte zuweisen.
Dies liefert eine Definition für einen Ausdruck, der eine Zeichenkette enthält.
In[7]:= z["gold"] = 79
Out[7]= 
Dies ersetzt jedes Auftreten der Zeichenkette "aa" durch das Symbol x.
In[8]:= {"aaa", "aa", "bb", "aa"} /. "aa" -> x
Out[8]= 
|