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

 Accepted Answer

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

2 Comments

Perfect, thank you.
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!

Sign in to comment.

More Answers (0)

Tags

Asked:

on 30 Sep 2011

Commented:

on 16 Oct 2014

Community Treasure Hunt

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

Start Hunting!