distinguishing exponential (e) from other characters with regexp

15 ビュー (過去 30 日間)
sermet
sermet 2017 年 5 月 24 日
編集済み: Stephen23 2017 年 5 月 24 日
omega=
'-1.86265e-09</'
'-1.86265e-09</'
'-1.74623e-09</'
'-1.74623e-09</'
'-1.62981e-09</'
'-1.62981e-09</'
'-1.74623e-09</'
'-1.62981e-09</'
'-1.86265e-09</'
'-1.62981e-09</'
'-1.86265e-09</'
%11x1 cell
I run the below code to extract only numeric parts of rows;
omega= regexp(omega,'[+-]?\d+\.?\d*', 'match');
But it also remove "e". How can I modify above code to get e as a numeric part?

採用された回答

Stephen23
Stephen23 2017 年 5 月 24 日
編集済み: Stephen23 2017 年 5 月 24 日
'[+-]?\d+\.?\d*([eE][+-]?\d+)?'
PS: If each string contains just one number then you should consider using the 'once' option as well, as this simplifies the outputs:
regexp(... 'match','once');

その他の回答 (0 件)

カテゴリ

Find more on Characters and Strings 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!

Translated by