how to extract a specific text from text file

1 view (last 30 days)
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 ?

Accepted Answer

Stephen23
Stephen23 on 16 Aug 2018
Edited: Stephen23 on 16 Aug 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 Comments
safa BY
safa BY on 17 Aug 2018
Edited: Stephen23 on 17 Aug 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 on 17 Aug 2018
Edited: Stephen23 on 17 Aug 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.

Sign in to comment.

More Answers (0)

Categories

Find more on Data Import and Export in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!