I have a char array with code numbers separated by full stops and I want to extract all and save them in a single cell inside a matrix.

1 view (last 30 days)
This may be rather easy for some of you. I have a char array with code numbers separated by full stops (see attached) and I want to extract the entire number (including all full stops) and save it in a single cell inside a matrix. I thought that there will be a quick way to do this but could not figure it out properly. Any ideas much appreciated!.

Accepted Answer

Stephen23
Stephen23 on 27 Apr 2018
Edited: Stephen23 on 27 Apr 2018
Using regexp:
>> C = regexp(TempUid,'\d+\.','match');
>> C{:}
ans = 1.
ans = 3.
ans = 12.
ans = 2.
ans = 1107.
ans = 5.
ans = 2.
ans = 36.
ans = 40299.
Or if you also want to include the trailing number (with no period):
>> C = regexp(TempUid,'\d+\.?','match');
>> C{:}
ans = 1.
ans = 3.
ans = 12.
ans = 2.
ans = 1107.
ans = 5.
ans = 2.
ans = 36.
ans = 40299.
ans = 2014032012122937219119936
  2 Comments
GioPapas81
GioPapas81 on 27 Apr 2018
Edited: GioPapas81 on 27 Apr 2018
So many thanks Stephen! And you have an easy way to merge all these different cells into a single cell please? Thank you very much again!
Stephen23
Stephen23 on 27 Apr 2018
Edited: Stephen23 on 27 Apr 2018
"an easy way to merge all these different cells into a single cell please"
What "different cells"? C is already one cell array.

Sign in to comment.

More Answers (0)

Categories

Find more on Cell Arrays in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!