Regular expression for 1*1 cell array

1 view (last 30 days)
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.

Accepted Answer

Adam Danz
Adam Danz on 26 Sep 2019
Edited: Adam Danz on 26 Sep 2019
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));

More Answers (0)

Categories

Find more on Characters and Strings in Help Center and File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!