Traitement flexible des chaînes de caractères
La version 11 ajoute une série de fonctions de bas niveau qui permettent une manipulation souple des chaînes de caractères.
Prenez une chaîne de caractères contenant une séquence d'informations personnelles.
In[1]:=
![Click for copyable input](assets.fr/flexible-string-processing/In_1.png)
string = "lastname Doe firstname John age 20 email john.doe@mail.com \
mobile 123-456-7890";
Construisez une liste de sous-chaînes avec StringSplit.
In[2]:=
![Click for copyable input](assets.fr/flexible-string-processing/In_2.png)
splitstring = StringSplit[string]
Out[2]=
![](assets.fr/flexible-string-processing/O_1.png)
Remplissez toutes les sous-chaînes avec des espaces à droite pour qu'elles aient une longueur de 20.
In[3]:=
![Click for copyable input](assets.fr/flexible-string-processing/In_3.png)
padstring = StringPadRight[splitstring, 20, " "]
Out[3]=
![](assets.fr/flexible-string-processing/O_2.png)
Segmentez l'expression obtenue pour grouper les chaînes par détails.
In[4]:=
![Click for copyable input](assets.fr/flexible-string-processing/In_4.png)
partstring = Partition[padstring, 2]
Out[4]=
![](assets.fr/flexible-string-processing/O_3.png)
Utilisez StringRiffle pour concaténer toutes les chaînes en insérant de nouvelles lignes entre les groupes et des chaînes vides à l'intérieur de chaque groupe.
In[5]:=
![Click for copyable input](assets.fr/flexible-string-processing/In_5.png)
rifstring = StringRiffle[partstring, "\n", ""]
Out[5]=
![](assets.fr/flexible-string-processing/O_4.png)
L'expression finale est un objet String.
In[6]:=
![Click for copyable input](assets.fr/flexible-string-processing/In_6.png)
Head[rifstring]
Out[6]=
![](assets.fr/flexible-string-processing/O_5.png)
Une autre façon d'insérer de nouvelles lignes est d'utiliser la fonction InsertLinebreaks.
In[7]:=
![Click for copyable input](assets.fr/flexible-string-processing/In_7.png)
StringTake[ExampleData[{"Text", "AliceInWonderland"}], 200]
Out[7]=
![](assets.fr/flexible-string-processing/O_6.png)
In[8]:=
![Click for copyable input](assets.fr/flexible-string-processing/In_8.png)
StringTake[ExampleData[{"Text", "AliceInWonderland"}], 200];
InsertLinebreaks[%, 40]
Out[8]=
![](assets.fr/flexible-string-processing/O_7.png)