Editing Data in a Cell Array

4 views (last 30 days)
I have a list of names in a text document given in the format: 1 last,first 2 last,first 3 last,first ...etc What i've done so far is
data = fopen('names.txt');
array = textscan(data, '%s','Delimiter','#');
from here, I have created a 1x1 cell that contains a 10x1 cell with the names split up:
1 last,first
2 last,first
3 last,first
What I would like to do is remove the numbers from this list, but since it is a cell array and not a normal array, I'm not sure how to go about this. I've tried using cell2mat and strrep but didn't have any luck. Any help would be appreciated.
thanks!

Accepted Answer

Walter Roberson
Walter Roberson on 26 Jan 2017
It would seem to make more sense to change your format to '%d%s%*[,]%s' or something similar -- that is, to break it up as you read it.
In any case, with a cell array of strings, you can
regexprep(array{1}, '^\d+\s+/', '', 'lineanchors')
  2 Comments
Jake Farley
Jake Farley on 26 Jan 2017
Thank you! Now would there be a way to put them in "first last" order instead of "last, first"? Or should that be done prior.
Walter Roberson
Walter Roberson on 26 Jan 2017
regexprep(array{1}, '^\d+\s+([^,]+),\s*(.*)', '[$2, $1]', 'lineanchors')

Sign in to comment.

More Answers (0)

Categories

Find more on Data Type Conversion 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!