I want to filter the cell array column according to 'DD. mmmm YYYY' so I get only the dates. How can I do that? thanks
'Thu, Feb-14-13'
'Thu, Feb-07-13'
'Thu, Jan-31-13'
'Thu, Jan-24-13'
'Thu, Jan-17-13'
'Thu, Jan-10-13'
'Thu, Jan-03-13'
'Thu, Dec-27-12'
'Thu, Dec-20-12'
'Time'
'Time'
'Reg.'
'Reg.'
'UXS'
'CXX'
'UCC'
'USDC'
'USCCD'

 Akzeptierte Antwort

Walter Roberson
Walter Roberson am 10 Okt. 2015

1 Stimme

Why did you delete your earlier question? I was busy posting an answer to it and it disappeared out from under me :(
Good thing I saved the answer:
matchresult = regexp(YourCell, '^[a-zA-Z]{3},\s[a-zA-Z]{3}-\d{2}-\d{2}$');
nomatch = cellfun(@isempty, matchresult);
dateless = YourCell(nomatch);
datelike = YourCell{~nomatch};
Caution: this will not accept single digit day of the month as being a date. But it will accept any three letters as potential weekday name or month name. It will also not accept spaces before or after the date. (Some of these are easy to change but I am sticking with the format that you presented.)

2 Kommentare

AA
AA am 10 Okt. 2015
thanks but it didnt work. When I click on datelike I only get one result which is 'Thu, Oct-08-15'. The rest is being ignored. Why is that?
'Thu, Oct-08-15'
'Thu, Oct-01-15'
'Thu, Sep-24-15'
'Thu, Sep-17-15'
'Thu, Sep-10-15'
'Thu, Sep-03-15'
'Thu, Aug-27-15'
'Thu, Aug-20-15'
'Thu, Aug-13-15'
'Thu, Aug-06-15'
'Thu, Jul-30-15'
'Thu, Jul-23-15'
'Thu, Jul-16-15'
'Thu, Jul-09-15'
'Thu, Jul-02-15'
'Thu, Jun-25-15'
'Thu, Jun-18-15'
AA
AA am 10 Okt. 2015
brackets were wrong. now it worked. thanks
matchresult = regexp(YourCell, '^[a-zA-Z]{3},\s[a-zA-Z]{3}-\d{2}-\d{2}$');
nomatch = cellfun(@isempty, matchresult);
dateless = YourCell(nomatch);
datelike = YourCell(~nomatch);

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Gefragt:

AA
am 10 Okt. 2015

Kommentiert:

AA
am 10 Okt. 2015

Community Treasure Hunt

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

Start Hunting!

Translated by