MATLAB: Regular expression for 1*1 cell array

matchregexpregular expression

Hello,
I was trying to find the regular expression for a 1*1 cell array, the array looks somethig like this:
{'<string_attribute name="EEE_Level_LTT"><s>34</s></string_attribute>'}
I need just those numbers in the whole array, fox example its 34 in the above array, the charater array would be same every time, except those two or one digits.
Any help is higley appreciated.

Best Answer

Instead of a regular expression, you could use isstrprop() to identify which characters in each element of the cell array are digits and extract those digits. This assumes that there are no other digits in the char arrays other than those you'd like to extract.
'C' is an example cell array of chars.
'digits' is a numeric vector where digits(n) is the number stored in C{n}.
C(1) = {'<string_attribute name="EEE_Level_LTT"><s>34</s></string_attribute>'};
C(2) = {'<string_attribute name="EEE_Level_LTT"><s>9</s></string_attribute>'};
digits = str2double(cellfun(@(x)x(isstrprop(x,'digit')), C, 'UniformOutput',false));