作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有多个以相同方式命名的文件: 'RefBu12CyclesAmpl0.20Freq2.25VR0.0000Dist4cmSilence25000Fs25MHz' 。我尝试创建一个返回值并区分字符串和数字的函数,但我可以让它返回正确的值。
有什么想法吗?
function [File] = get_somenthing(file_name)
expression = '(?<Cycles>\d+)(?<Ampl>\D\S.+)(?<Freq>\d+)(?<VR>\d\S+)(?<Dist>\d.+)(?<Silence>\d+)(?<Fs>\d)'
File = regexp(file_name,expression,'names')
最佳答案
以下正则表达式匹配数字(可选后跟点和数字)。我假设这些数字是真实的,不包含符号,并且不能使用科学计数法:
s = 'RefBu12CyclesAmpl0.20Freq2.25VR0.0000Dist4cmSilence25000Fs25MHz';
values_str = regexp(s, '\d+(\.\d+)?', 'match');
values = str2double(values_str);
这给出
>> values_str
values_str =
1×7 cell array
{'12'} {'0.20'} {'2.25'} {'0.0000'} {'4'} {'25000'} {'25'}
>> values
values =
1.0e+04 *
0.001200000000000 0.000020000000000 0.000225000000000 0 0.000400000000000 2.500000000000000 0.002500000000000
关于string - 如何从文件名中提取值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56826592/
我是一名优秀的程序员,十分优秀!