Remove units from a string

7 ビュー (過去 30 日間)
Vamsi
Vamsi 2015 年 11 月 30 日
編集済み: Stephen23 2015 年 11 月 30 日
Hello all,
I would like to remove the units (for e.g. seconds) from a string and convert it to double.
For e.g.: 1.00s to 1.00 or 1.25ns to 1.25
Is there any simple way to do that?
Thanks.
  1 件のコメント
Stephen23
Stephen23 2015 年 11 月 30 日
編集済み: Stephen23 2015 年 11 月 30 日
You could use my FEX submission sip2num, which converts SI-prefixed strings into numeric, correctly interpreting the SI-prefixes:
>> sip2num('1.00s')
ans =
1
>> sip2num('1.25ns')
ans =
1.2500e-09
It also returns the string parts split by the numeric substrings, and their numbers of significant digits:
>> [num,spl,sgf] = sip2num('1.25ns')
num =
1.2500e-09
spl =
'' 's'
sgf =
3

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

採用された回答

Thorsten
Thorsten 2015 年 11 月 30 日
s = '1.25ns';
v = sscanf(s, '%f')
  1 件のコメント
Vamsi
Vamsi 2015 年 11 月 30 日
Thank you very much

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

その他の回答 (1 件)

Ingrid
Ingrid 2015 年 11 月 30 日
編集済み: Ingrid 2015 年 11 月 30 日
just use textscan
rawData = textscan(yourValue,'%f%s');
value = rawData{1};
units = rawData{2};
  1 件のコメント
Vamsi
Vamsi 2015 年 11 月 30 日
Thanks for the answser

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

カテゴリ

Help Center および File ExchangeGet Started with MATLAB についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by