как получить число из строки в Matlab - PullRequest
3 голосов
/ 12 августа 2011

Я хочу узнать, как получить определенные числа из строки в Matlab.Например, у меня есть строка:

'ABCD_01 36 _00 3 .txt', (интервал между 01 и 36)

Что мне нужно, это получить числа 36 и 3. Как я могу сделать это в Matlab?Я пытался найти ответ из предыдущих постов, но не могу найти тот, который подходит для этой цели.Спасибо за помощь.

Ответы [ 2 ]

9 голосов
/ 13 августа 2011

Регулярные выражения:

>> str = 'ABCD_01 36_00 3 .txt';
>> t = str2double( regexp(str,'.* (\d+)_.* (\d+)','tokens','once') )

t =
    36     3
6 голосов
/ 12 августа 2011

Если имена файлов всегда начинаются с четырех символов, вы можете сделать:

>> filename = 'ABCD_01 36_00 3 .txt';
>> sscanf(filename, '%*4c_%*u %u_%*u %u.txt')

ans =

    36
     3
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...