MATLAB: Convert cell array to numerical array while keeping format and removing NAN

cell arraysnumerical array

I have a cell array comprised of a single column and many rows. Some rows have 'NAN' and some have numbers such as 42.54. I want to extract the data from this cell array while keeping the format. I also want to get rid of the NAN values. I don't care if the NAN values are removed completely or replaced with 0. A for loop was ineffective and took to long. I tried isnan and isfinite, but they did not seem to remove the nan. I also tried cell2mat but that removes the format of my column and puts every character together. My cell looks something like this:
'NAN'
'NAN'
'NAN'
'NAN'
'NAN'
'NAN'
'NAN'
'43.16'
'43.16'
'43.1'
'43.1'
'43.08'
'43.08'
'43.06'
'NAN'
'NAN'
'NAN'
'43.1'
'43.1'
'43.08'
'43.08'
However there are thousands of data points and hundreds of 'NAN' scattered throughout.
Thank you

Best Answer

T = str2double(YourCellArray);
T(isnan(T)) = [];