Split a cell that contains a string
10 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Melissa Ette
el 25 de Oct. de 2020
Comentada: Melissa Ette
el 26 de Oct. de 2020
I have a cell u(38,1) each row has string looking like this :
for example u{1,1} = ''198823 765389 white''
u{2,1} = ''198426 725312 black''
I want the cell u to be divided in 3 colomns such as
u{1,1} = ''198823'' u{1,2}= ''765389'' u{1,3}=''white''
u{2,1} = ''198426'' u{2,1}= ''725312'' u{2,3}=''black''
so basically I want my u(38,1) to become u(38,3)
I have tried strplit, but it seems like it won't work with a cell,
strplit(u,',') %doesn't work'
strplit(u{1,1},',') %works on the first line and returns a cell (1,3)
0 comentarios
Respuesta aceptada
Cris LaPierre
el 26 de Oct. de 2020
Here's an example of one way of doing this.
u{1,1} = "198823 765389 white";
u{2,1} = "198426 725312 black"
a=cellfun(@strsplit,u,'UniformOutput',false);
a=vertcat(a{:})
2 comentarios
Cris LaPierre
el 26 de Oct. de 2020
Editada: Cris LaPierre
el 26 de Oct. de 2020
Actually, why keep this a cell? This can be done much simpler if you use strings.
u{1,1} = "198823 765389 white";
u{2,1} = "198426 725312 black"
% Convert cell array to a string array.
u2 = string(u)
a2 = split(u2)
Más respuestas (0)
Ver también
Categorías
Más información sobre Characters and Strings en Help Center y File Exchange.
Productos
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!