Flexible Verarbeitung von Strings
Version 11 bietet eine Reihe neuer Low-Level-Funktionen zu flexiblen Bearbeitung und Veränderung von Strings.
Nehmen Sie einen String her, der eine Folge personenbezogener Angaben enthält.
In[1]:=
![Click for copyable input](assets.de/flexible-string-processing/In_1.png)
string = "lastname Doe firstname John age 20 email john.doe@mail.com \
mobile 123-456-7890";
Erzeugen Sie mit StringSplit einige Teilstrings.
In[2]:=
![Click for copyable input](assets.de/flexible-string-processing/In_2.png)
splitstring = StringSplit[string]
Out[2]=
![](assets.de/flexible-string-processing/O_1.png)
Füllen Sie alle Teilstrings auf der rechten Seite mit Leerzeichen auf, um diese auf Länge 20 zu bringen.
In[3]:=
![Click for copyable input](assets.de/flexible-string-processing/In_3.png)
padstring = StringPadRight[splitstring, 20, " "]
Out[3]=
![](assets.de/flexible-string-processing/O_2.png)
Teilen Sie den daraus resultierenden Ausdruck so auf, dass Strings nach Art der Information gruppiert werden.
In[4]:=
![Click for copyable input](assets.de/flexible-string-processing/In_4.png)
partstring = Partition[padstring, 2]
Out[4]=
![](assets.de/flexible-string-processing/O_3.png)
Hängen Sie mit StringRiffle alle Strings aneinander, und fügen Sie Zeilenumbrüche zwischen Gruppen und leeren Strings innerhalb von Gruppen ein.
In[5]:=
![Click for copyable input](assets.de/flexible-string-processing/In_5.png)
rifstring = StringRiffle[partstring, "\n", ""]
Out[5]=
![](assets.de/flexible-string-processing/O_4.png)
Der finale Ausdruck ist ein String-Ojekt.
In[6]:=
![Click for copyable input](assets.de/flexible-string-processing/In_6.png)
Head[rifstring]
Out[6]=
![](assets.de/flexible-string-processing/O_5.png)
Alternativ können Zeilenumbrüche mit der Funktion InsertLinebreaks eingefügt werden.
In[7]:=
![Click for copyable input](assets.de/flexible-string-processing/In_7.png)
StringTake[ExampleData[{"Text", "AliceInWonderland"}], 200]
Out[7]=
![](assets.de/flexible-string-processing/O_6.png)
In[8]:=
![Click for copyable input](assets.de/flexible-string-processing/In_8.png)
StringTake[ExampleData[{"Text", "AliceInWonderland"}], 200];
InsertLinebreaks[%, 40]
Out[8]=
![](assets.de/flexible-string-processing/O_7.png)