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.

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

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

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!
"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

Asked:

on 27 Apr 2018

Edited:

on 27 Apr 2018

Community Treasure Hunt

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

Start Hunting!