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)

Community Treasure Hunt

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

Start Hunting!