distinguishing exponential (e) from other characters with regexp

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 日

2 投票

'[+-]?\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 件)

カテゴリ

ヘルプ センター および File ExchangeCell Arrays についてさらに検索

タグ

質問済み:

2017 年 5 月 24 日

編集済み:

2017 年 5 月 24 日

Community Treasure Hunt

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

Start Hunting!

Translated by