Split a cell that contains a string
3 次查看(过去 30 天)
显示 更早的评论
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 个评论
采纳的回答
Cris LaPierre
2020-10-26
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 个评论
Cris LaPierre
2020-10-26
编辑:Cris LaPierre
2020-10-26
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)
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Characters and Strings 的更多信息
产品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!