我想知道如何从matlab中的字符串中获取某些数字.例如,我有一个字符串:
'ABCD_01 36 _00 3 .txt',(01和36之间有间距)
我需要的是获得数字36和3.如何在matlab中完成?我试过从以前的帖子中找到答案,但找不到符合此目的的答案.谢谢您的帮助.
常用表达:
>> str = 'ABCD_01 36_00 3 .txt';
>> t = str2double( regexp(str,'.* (\d+)_.* (\d+)','tokens','once') )
t =
36 3
Run Code Online (Sandbox Code Playgroud)
如果文件名始终以四个字符开头,则可以执行以下操作:
>> filename = 'ABCD_01 36_00 3 .txt';
>> sscanf(filename, '%*4c_%*u %u_%*u %u.txt')
ans =
36
3