help with regexp

1 view (last 30 days)
Edward
Edward on 2 Apr 2012
Hi im trying to use regexp to get some 1,2 and 3 digit numbers from a string of symbols and numbers, for example:
3
2
100
so far im using regexp(string,'\d+','match') which is returning ans=['3' '2' '100'] and where:
ans(1)='3' which doesnt seem to be a number or a string.. how can i change this/these numbers to make them of some use?

Accepted Answer

Oleg Komarov
Oleg Komarov on 2 Apr 2012
s = '32100';
out = regexp(s,'\d+','match');
cellfun(@str2double,out)
regexp returns the result in a cell array. Thus you cannot directly convert a cell that contains a string number into a proper double.
cellfun loops for each cell and applies the function specified after teh handle @
You have to acces the cell
str2double(out{1})
str2num(out{1})

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!