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