フィルターのクリア

how to extract a specific text from text file

1 回表示 (過去 30 日間)
safa BY
safa BY 2018 年 8 月 16 日
編集済み: Stephen23 2018 年 8 月 17 日
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 件のコメント
Stephen23
Stephen23 2018 年 8 月 16 日
@sofa BY: your example also incudes the fifth number. Is this correct?
safa BY
safa BY 2018 年 8 月 16 日
yes

サインインしてコメントする。

採用された回答

Stephen23
Stephen23 2018 年 8 月 16 日
編集済み: Stephen23 2018 年 8 月 16 日
>> 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 件のコメント
safa BY
safa BY 2018 年 8 月 17 日
編集済み: Stephen23 2018 年 8 月 17 日
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 2018 年 8 月 17 日
編集済み: Stephen23 2018 年 8 月 17 日
"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.

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeString Parsing についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by