matlab - 解析一行以获取数字

标签 matlab parsing

我的行看起来像这样:

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 是随机的,其余的都是常量

最佳答案

以下方法可能会有所帮助:

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

% 设置键和索引
key = 'bio';
index = strfind(tmp,key);

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

% 要获取 pewp 的值,请设置 key = 'pewp' 并重复上述步骤

关于matlab - 解析一行以获取数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26654104/

相关文章:

matlab - 生成随机数...更快的方法?

c++ - 结构作为 mex 文件中的初始参数

matlab - 我有一个数字单元格,它是一个更大集合的子集,我可以将缺失的数字组合在一起吗 MATLAB

matlab - 如何在 Matlab 中创建堆叠条形图,将某些值固定为特定颜色?

parsing - 如何在Go Lang中从连续字符串中提取(解析)整数

matlab - 使用预定规则索引矩阵

ios - 将数据发布到服务器以获得响应

ios - 使用Codable解析嵌套JSON数据问题

html - Matlab文本字符串/html解析

javascript - 在javascript中将xml中的 ' & '替换为 ' & '