Exclude a keyword from a file search?
3 ビュー (過去 30 日間)
古いコメントを表示
Hi, so I have a set of files such as:
'20130723_SPLBRENT3_000003.mat'
'20130723_SPLBRENT3_005948.mat'
'20130723_SPLBRENT3_015948.mat'
'20130723_SPLBRENT3_025948.mat'
'20130723_SPLBRENT3_035949.mat'
'20130723_SPLBRENT3_045948.mat'
'20130723_SPLBRENT3_055948.mat'
'20130723_SPLBRENT3_065948.mat'
'20130723_SPLBRENT3_075949.mat'
'20130723_SPLBRENT3_085949.mat'
'20130723_SPLBRENT3_095949.mat'
'20130723_SPLBRENT3_102025.mat'
'20130723_SPLBRENT3_102931.mat'
'20130723_SPLBRENT3_112947.mat'
'20130723_SPLBRENT3_122947.mat'
'20130723_SPLBRENT3_132947.mat'
'20130723_SPLBRENT3_142947.mat'
'20130723_SPLBRENT3_152947.mat'
'20130723_SPLBRENT3_162947.mat'
'20130723_SPLBRENT3_172947.mat'
'20130723_SPLBRENT3_180744.mat'
'20130723_SPLBRENT3_190749.mat'
'20130723_SPLBRENT3_200749.mat'
'20130723_SPLBRENT3_concat.mat'
These are files from yesterday (7/23), and I made a concat file that combines all the files into one, which is at the bottom. I'm writing a code that counts the number of files that were uploaded yesterday, but I don't want the concat file to count. Is there anyway I can exclude the concat.mat file?
0 件のコメント
採用された回答
Azzi Abdelmalek
2013 年 7 月 24 日
file={'20130723_SPLBRENT3_180744.mat'
'20130723_SPLBRENT3_190749.mat'
'20130723_SPLBRENT3_200749.mat'
'20130723_SPLBRENT3_concat.mat'}
new_file=file( cellfun(@(x) isempty(regexp(x,'concat')),file))
2 件のコメント
Jan
2013 年 7 月 26 日
編集済み: Jan
2013 年 7 月 26 日
Again I mention, that cellfun is slow when combined with anonymous functions. I do not see a reason to let Matlab waste time and suggest:
new_file = file(cellfun('isempty', regexp(file, 'concat')))
And if you do not like the string methods of cellfun, this is at least faster than the anonymous function:
new_file = file(cellfun(@isempty, regexp(file, 'concat')))
@Azzi: Do you think it is worth to suggest the faster cellfun methods without anonymous functions in the forum? Is there any reason that you avoid them?
その他の回答 (1 件)
Jan
2013 年 7 月 26 日
If this is time-critical, you can use FEX: strncmpr, which is identical to strncmp but compares the end of the string:
new_file = file(~strncmpr(file, '_concat.mat', 11));
0 件のコメント
参考
カテゴリ
Help Center および File Exchange で Function Creation についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!