MATLAB: How to split a string and return only decimal numbers

regexp

I would like to extract a vector x containing decimal numbers from this string,
myString = 'YYYY MM DD hh mm .0200 .0325 .0375 .0425 .0475 .0525 .0575 .0625 .0675';
x = [.0200 .0325 .0375 .0425 .0475 .0525 .0575 .0625 .0675]
I have been able to split myString on the white spaces as follows,
splitstring = regexp(myString,'\s+','split');
% 'YYYY' 'MM' 'DD' 'hh' 'mm' '.0200' '.0325' '.0375'
but this doesn't exclude the "words" at the start. Using '\s+[^a-zA-Z]' or '\s+[0-9]' won't return the decimal numbers either.

Best Answer

  • myString = 'YYYY MM DD hh mm .0200 .0325 .0375 .0425 .0475 .0525 .0575 .0625 .0675';
    out=regexp(myString,'\d?\.?\d+','match')