Using strrep on cell array with some non-chars

Hi all.
I have this set of data structured as an array of cells which contain chars in almost all cells. However, a few cells contain NaN as double.
Now, I want to use the function 'strrep' on this array of cells as I need to exchange ',' and '.'.
Does anyone have an efficient solution to this?
Thanks a lot

 Akzeptierte Antwort

Jan
Jan am 30 Sep. 2011

1 Stimme

C = {'1,2', NaN, '3,14'};
isString = cellfun('isclass', C, 'char');
C(isString) = strrep(C(isString), ',', '.');

2 Kommentare

Mads
Mads am 3 Okt. 2011
Perfect, thank you.
Alexei
Alexei am 16 Okt. 2014
Guys,
What in the world is " isclass "?? There is NO Mathworks page for it. Typing in doc isclass brings up nothing. However, following the example given by Jan Simon, it still works. What is going on?? Is this a former function that Mathworks wants to retire? If so, then what is the appropriate substitute to use? I tried using cellfun('class',C,'char') instead, but that gave me an "Unknown option" error.
Thanks!

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Tags

Gefragt:

am 30 Sep. 2011

Kommentiert:

am 16 Okt. 2014

Community Treasure Hunt

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

Start Hunting!

Translated by