filtering cell array table

3 次查看(过去 30 天)
AA
AA 2015-10-10
评论: AA 2015-10-10
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'

采纳的回答

Walter Roberson
Walter Roberson 2015-10-10
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 个评论
AA
AA 2015-10-10
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 2015-10-10
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);

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Whos 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by