Processamento flexível de cadeia de caracteres
A versão 11 inclui uma variedade de funções de baixo nível que permite uma manipulação flexível de cadeia de caracteres.
Pegue uma cadeia de caracteres que contenha uma sequência de detalhes pessoais.
In[1]:=
![Click for copyable input](assets.pt-br/flexible-string-processing/In_1.png)
string = "lastname Doe firstname John age 20 email john.doe@mail.com \
mobile 123-456-7890";
Construa uma lista com sub cadeia de caracteres com StringSplit.
In[2]:=
![Click for copyable input](assets.pt-br/flexible-string-processing/In_2.png)
splitstring = StringSplit[string]
Out[2]=
![](assets.pt-br/flexible-string-processing/O_1.png)
Preencha o lado direito da subcadeia para que tenham um comprimento de 20.
In[3]:=
![Click for copyable input](assets.pt-br/flexible-string-processing/In_3.png)
padstring = StringPadRight[splitstring, 20, " "]
Out[3]=
![](assets.pt-br/flexible-string-processing/O_2.png)
Segmente a expressão resultante para agrupar cadeia de caracteres por detalhes.
In[4]:=
![Click for copyable input](assets.pt-br/flexible-string-processing/In_4.png)
partstring = Partition[padstring, 2]
Out[4]=
![](assets.pt-br/flexible-string-processing/O_3.png)
Use StringRiffle para concatenar todas as cadeias de caracteres, inserindo novas linhas entre os grupos e as cadeias vazias dentro de cada grupo.
In[5]:=
![Click for copyable input](assets.pt-br/flexible-string-processing/In_5.png)
rifstring = StringRiffle[partstring, "\n", ""]
Out[5]=
![](assets.pt-br/flexible-string-processing/O_4.png)
A expressão final é um objeto String.
In[6]:=
![Click for copyable input](assets.pt-br/flexible-string-processing/In_6.png)
Head[rifstring]
Out[6]=
![](assets.pt-br/flexible-string-processing/O_5.png)
Uma forma alternativa de inserir novas linhas é usando a função InsertLinebreaks.
In[7]:=
![Click for copyable input](assets.pt-br/flexible-string-processing/In_7.png)
StringTake[ExampleData[{"Text", "AliceInWonderland"}], 200]
Out[7]=
![](assets.pt-br/flexible-string-processing/O_6.png)
In[8]:=
![Click for copyable input](assets.pt-br/flexible-string-processing/In_8.png)
StringTake[ExampleData[{"Text", "AliceInWonderland"}], 200];
InsertLinebreaks[%, 40]
Out[8]=
![](assets.pt-br/flexible-string-processing/O_7.png)