how to extract a specific text from text file

1 visualizzazione (ultimi 30 giorni)
I extract this line from my file : {'1;158.798;281.117;99.858;39.855;2182;'} and Next step is to extract the second , third , fourth and fifth numbers like this : [158.798,281.117,99.858,39.855]
Any help please ?
  2 Commenti
Stephen23
Stephen23 il 16 Ago 2018
@sofa BY: your example also incudes the fifth number. Is this correct?

Accedi per commentare.

Risposta accettata

Stephen23
Stephen23 il 16 Ago 2018
Modificato: Stephen23 il 16 Ago 2018
>> C = {'1;158.798;281.117;99.858;39.855;2182;'};
>> D = regexp(C,';','split');
>> D{1}(2:5)
ans =
'158.798' '281.117' '99.858' '39.855'
>> str2double(D{1}(2:5)) % convert to numeric
ans =
158.798 281.117 99.858 39.855
  7 Commenti
safa BY
safa BY il 17 Ago 2018
Modificato: Stephen23 il 17 Ago 2018
Hello again Stephen, Can you help me please , ? I need to add a header to my textfile and this is my code :
for k=1:nbrRect
Cellule{k}=get(rectangles(k), 'Position');
tag= CellTag(k);
x1 = Cellule{k}(1)+Cellule{k}(3)/2;
y1 = Cellule{k}(2)+Cellule{k}(4)/2;
fprintf(fileID,'%d;%5.3f;%5.3f;%5.3f;%5.3f;%d;%5.3f;%5.3f;\n',tag,Cellule{k}(1),Cellule{k}(2),Cellule{k}(3),Cellule{k}(4),numf,x1,y1);
end
I added this line before fopen and the boucle for but there is no header in my file:
fprintf(fileID,'%d;%5.3f;%5.3f;%5.3f;%5.3f;%d;;%5.3f;%5.3f;\n','Person ID','pos1','pos2','Width','height','X centre','Y centre');
Stephen23
Stephen23 il 17 Ago 2018
Modificato: Stephen23 il 17 Ago 2018
"I added this line before fopen and the boucle for but there is no header in my file"
That line will need to go after fopen and before the loop. You will also need to change the all of the format specifiers to %s.

Accedi per commentare.

Più risposte (0)

Community Treasure Hunt

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

Start Hunting!

Translated by