Pulling Part of a cell out

1 次查看(过去 30 天)
B. J.
B. J. 2011-10-23
Hello,
I have a cell
'0040e3d8'
'0042f207'
'00431411' .....
What I want to do it pull the last value out. This cell can be of different lengths, but I always want the last value. I try c = temp(end), but it pulls the entire string in.

回答(4 个)

Walter Roberson
Walter Roberson 2011-10-23
Your question is not clear. It would have been easier if you had indicate what you meant by "last value".
Have you tried temp{end} and temp{end}(end) ?

the cyclist
the cyclist 2011-10-23
Is this what you mean?
c = {'0040e3d8';'0042f207';'00431411'};
c{end}(end)

Image Analyst
Image Analyst 2011-10-23
Just a guess. Did you want this:
ca = {'0040e3d8';'0042f207';'00431411'}
cm = cell2mat(ca)
lastChars = cm(:, end)
In the command window you'll see:
ca =
'0040e3d8'
'0042f207'
'00431411'
cm =
0040e3d8
0042f207
00431411
lastChars =
8
7
1
Note: This only works if all your strings are the same length (8 in this case). Of course if you knew in advance that they were all the same size you'd probably build it as a character array to start with rather than a cell array.

Andrei Bobrov
Andrei Bobrov 2011-10-23
C = ...
{'00dgey46440e3d8'
'0042f207'
'00dfd431411'}
lasts = cellfun(@(x)x(end),C)

Community Treasure Hunt

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

Start Hunting!

Translated by