Azzera filtri
Azzera filtri

How to read a complex alphanumeric string or cell

1 visualizzazione (ultimi 30 giorni)
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

Risposta accettata

Walter Roberson
Walter Roberson il 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 '__'

Più risposte (1)

Stefano Alberti
Stefano Alberti il 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 Commenti
Stefano Alberti
Stefano Alberti il 11 Feb 2016
Modificato: Stefano Alberti il 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 il 11 Feb 2016
Modificato: Stefano Alberti il 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.

Accedi per commentare.

Categorie

Scopri di più su Data Type Conversion in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by