2014-10-30 35 views
2

我看起來像這樣的臺詞:解析一線得到數

tmp='bla bio = 773 node = 6 bib=21 data=118 pewp= 120' 

我需要得到第一個和最後一個號碼 - 773120 我試圖

sscanf(tmp,' %*s %*s %*s %f %*s %*s %*s %*s %*s %*s %f') 

,但沒有任何運氣。 數字6 21 118是隨機的其餘都是常量

+1

當使用你的命令時,解釋器打印773和120.你的問題在哪裏? – Steffen 2014-10-30 13:33:04

回答

1

我發現一個簡單的方法

temp=sscanf(tmp,'bla bio = %f node = %f bib=%f data=%f pewp= %f') 
tmp(1)=temp(1) 
tmp(2)=temp(5) 
1

以下方法可能有所幫助:

%刪除所有 '='
tmp(strfind(tmp,'=')) = [];

%設置鍵&指數
key = 'bio';
index = strfind(tmp,key);

%提取值
value = sscanf(str(index(1)+length(key):end), '%g',1);

%爲了獲得pewp的值,設置鍵= 'pewp',並重覆上述步驟