How to read a complex alphanumeric string or cell

1 view (last 30 days)
Hi, I've some troubles to generate a code to read a complex (for me) alphanumeric string (or cell).
I've a cell (4000x1) with a text file like this: 'Daily_cum_2013_05_30_09_59__2013_05_31_10_05.asc' I want to separate the two dates (2013-05-30 09:59 and 2013-05-31 10:05) and convert it to a date format.
I tryed with sscanf, strread, textscan comands, but I don't succeed. Like:
test = sscanf(text,'%*s %d'); %to not consider the first part of text
but it doesn't work.
Is it so difficult ?
Thanks in advance
Stefano

Accepted Answer

Walter Roberson
Walter Roberson on 10 Feb 2016
If you have a cell array C of strings to split this way, then
sC = regexp(C, '__', 'split');
will be a cell array the same size as C, in which each element is a 1 x 2 cell array of strings. If you then
sC = vertcat(sC{:});
then the result would be an N x 2 cell array in which the columns are the two sides of the '__'

More Answers (1)

Stefano Alberti
Stefano Alberti on 10 Feb 2016
Thank you very much Walter!
Now I have a 4000x2 cell, wiht the precedent string splited.
Now I need to read this two string e convert to data.
What do You think that I may use ?
Thanks
Stefano
  3 Comments
Stefano Alberti
Stefano Alberti on 11 Feb 2016
Edited: Stefano Alberti on 11 Feb 2016
Error using datestr (line 177) Cannot convert input into specified date string. DATENUM failed.
this is the answer given by the software.
Thanks
How to delete 'Daily_cum_' before the split?
Stefano Alberti
Stefano Alberti on 11 Feb 2016
Edited: Stefano Alberti on 11 Feb 2016
Ok, I'm obtained the result with this code:
sC = regexp(F, 'Daily_cum_', 'split');
sC = vertcat(sC{:}); sC(:, 1) = [];
sC = regexp(sC, '\.asc', 'split');
sC = vertcat(sC{:});
sC = regexp(sC, '__', 'split');
now, I've a two columns with the splitted date.

Sign in to comment.

Categories

Find more on Characters and Strings 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!