Change string of text into multiple lines

1 vue (au cours des 30 derniers jours)
Nicholas
Nicholas le 20 Déc 2014
Commenté : Nicholas le 20 Déc 2014
I have a string of text that needs to be formatted and saved as a txt file. The string is in this format:
,1,1880802442166,1,751702411341,1,751702411358,1,751702411365,1,751702411372,1,751702411389,1,751702459060,1,751702459077,1,751702459084,3,751702459091,1,751702459107,1,751702459114,2,751702459121,1,751702459145...
It needs to be output in this format:
,1,1880802442166
,1,751702411341
,1,751702411358
,1,751702411365
,1,751702411372
,1,751702411389
,1,751702459060
,1,751702459077
,1,751702459084
,3,751702459091
,1,751702459107
,1,751702459114
,2,751702459121
,1,751702459145...
It's for an inventory list that was recorded in the wrong format.
Thanks in advance,
Nick

Réponse acceptée

Azzi Abdelmalek
Azzi Abdelmalek le 20 Déc 2014
s=',1,1880802442166,1,751702411341,1,751702411358,1,751702411365,1,751702411372,1,751702411389,1,751702459060,1,751702459077,1,751702459084,3,751702459091,1,751702459107,1,751702459114,2,751702459121,1,751702459145'
a=regexp(s,',','split')
a(1)=[]
b=reshape(a,2,[])'
c=cellfun(@(x,y) [',' x ',' y], b(:,1),b(:,2),'un',0)
fid=fopen('file.txt','w')
for k=1:numel(c)
fprintf(fid,'%s \r\n',c{k,:})
end
fclose(fid)
  1 commentaire
Nicholas
Nicholas le 20 Déc 2014
I needed a blank line between each in value in the list, but I just added an extra
\r\n
in
fprintf(fid,'%s \r\n',c{k,:})
Thanks

Connectez-vous pour commenter.

Plus de réponses (1)

Andrei Bobrov
Andrei Bobrov le 20 Déc 2014
Modifié(e) : Andrei Bobrov le 20 Déc 2014
s = ',1,1880802442166,1,751702411341,1,751702411358,1,751702411365,1,751702411372,1,751702411389,1,751702459060,1,751702459077,1,751702459084,3,751702459091,1,751702459107,1,751702459114,2,751702459121,1,751702459145';
out = mat2cell(s,1,diff([regexp(s,',\d,'),numel(s)+1]))

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by