How can I change contents of a string?
1 visualización (últimos 30 días)
Mostrar comentarios más antiguos
I have a large cell array where the first column is a bunch of names like:
"Johnson and Johnson "
"Creative - Example "
"Problem/Cell"
They are all listed in data{1}
So, the main problem is that when I go to use the information in the "Problem/Cell" the "/" makes a lot of problems and is unusable. So, I would like to replace any "/" with a "-".
What I've done that hasn't worked is
newdata = data{1};
for i = 1:length(data{i})
position(i) = strfind(newdata(i),'/');
end
position = position';
if ~isempty(position)
newdata(position) = '-';
end
I get the error: Error using subsindex. Function 'subsindex' is not defined for values of class 'cell'. Error is in line newdata(position) = '-'
Thanks
0 comentarios
Respuestas (3)
Honglei Chen
el 31 de Jul. de 2012
Is your newdata also a cell? If so, you need to access it's content via {}.
In your loop definition, you probably mean length(newdata) instead?
Finally, you may want to use strrep to replace the character.
0 comentarios
Kevin Holst
el 31 de Jul. de 2012
I'd say do something like this:
names = strrep({data{:,1}},'/','-');
That assumes that all of the names are only in the first column of your cell array as you said, and it makes a separate cell array with all of the names in it.
0 comentarios
Ver también
Categorías
Más información sobre Customize Object Indexing en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!