我的行看起来像这样:
tmp='bla bio = 773 node = 6 bib=21 data=118 pewp= 120'
我需要获得第一个和最后一个数字 - 773,120 我试过了
sscanf(tmp,' %*s %*s %*s %f %*s %*s %*s %*s %*s %*s %f')
但没有任何运气.. 数字6 21 118是随机的,其余的是有效的
答案 0 :(得分:1)
以下方法可能有所帮助:
%删除全部' ='
tmp(strfind(tmp,'=')) = [];
%设置键和键;指数
key = 'bio'
;
index = strfind(tmp,key);
%提取值
value = sscanf(str(index(1)+length(key):end), '%g',1);
%要获得pewp的值,请设置key =' pewp'并重复上述步骤
答案 1 :(得分:1)
我找到了一个简单的方法
temp=sscanf(tmp,'bla bio = %f node = %f bib=%f data=%f pewp= %f')
tmp(1)=temp(1)
tmp(2)=temp(5)