breaking a column of strings in two different columns

Dear all,
Inside the workspace I have the following column in cell format
Column 1
AR021108'
'AW301108'
'EW281208'
'RT250109'
'RY220209'
I was trying to break this column in two other where the first column will contain the first two elements of each of these string variables and the second one will contain the dates as follows
Column1 column 2
AR 02/11/08
AW 30/11/08
EW 28/12/08
RT 25/01/09
RY 22/02/09
Any suggestions?

1 个评论

I used strtok(jji,'0 1 2 3 6 7 8 9'); wherre jji is the name of the column and i managed to create the first colum. The second column has the form
021108
301108
281208
250109
220209
but my goal is to have
02/11/08
30/11/08
28/12/08
and so forh. Thank you

请先登录,再进行评论。

 采纳的回答

It appears that you can't really do matrix operations on cell arrays like:
mycell{:,2} = mycell{:,1}(3:end);
So here's what I've got for you. It's probably not the most elegant solution, but it works...
for i = 1:length(mycell)
mycell{i,2} = [mycell{i,1}(3:4) '/' mycell{i,1}(5:6) '/' mycell{i,1}(7:8)];
mycell{i,1} = mycell{i,1}(1:2);
end

更多回答(1 个)

a={'AR021108'
'AW301108'
'EW281208'
'RT250109'
'RY220209'};
ii=cellfun(@(x) x(1:2),a, 'UniformOutput', false);
jj=cellfun(@(x) [x(3:4) '/' x(5:6) '/' x(7:8)], a, 'UniformOutput', false);
out=[ii jj]
another way without loops..

类别

帮助中心File Exchange 中查找有关 Characters and Strings 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by