Extract numeric data from cell
26 ビュー (過去 30 日間)
古いコメントを表示
I need to extract numbers from a cell and put them in a matrix.
My cell is expressed as following:
A={'position: [0.5418702363967896, 0.0005752428551204503, -3.834952076431364e-05, 0.0, 0.0, 0.0]'};
I tried the following example but it does not consider the e-5 .
A1 = regexp(A,'[\d*\.]*\d*','match')
A2 = [A1{:}]
out = str2double(strcat(A2{:}))
I need to get the full number to be able to make some calculations.
Thank you for help.
3 件のコメント
採用された回答
Mathieu NOE
2021 年 2 月 9 日
hello
A = {'position: [0.5418702363967896, 0.0005752428551204503, -3.834952076431364e-05, 0.0, 0.0, 0.0]'};
A1 = regexp(char(A),'[-+]?([0-9]*[.])?[0-9]+([eE][-+]?\d+)?','match'); % extract numerical content of string
out = str2double(A1);
その他の回答 (1 件)
Jan
2021 年 2 月 9 日
A = ['position: [0.5418702363967896, 0.0005752428551204503, ', ...
'-3.834952076431364e-05, 0.0, 0.0, 0.0]'];
D = extractBetween(A, '[', ']');
data = sscanf(D{1}, '%g,')
参考
カテゴリ
Help Center および File Exchange で Matrices and Arrays についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!