我有一些文件扩展名为.xls
或.xlsx
的Excel文件。我想从文件名末尾删除此文件扩展名。其中一些文件是.xls
,其他文件是.xlsx
,所以首先我要查找文件排泄类型(.xls
和.xlsx
- 代码中的其他处理)以及之后删除该扩展名。
如何使用正则表达式执行此操作?
感谢。
答案 0 :(得分:5)
我只使用fileparts()
功能。
[sPath, sFilename, sExt] = fileparts( sFile );
sFileBase = [ sPath, sFilename];
作为您方法的提示,您可以执行open fileparts
并查看源代码。
试试吧:
[sFiles, sPath] = uigetfile({'*.xls;*.xlsx','Select Excel files'; ...
'*.*', 'Select any file'}, ...
'MultiSelect', 'on');
并选择' Boolk1.xls',' Book1.xlsx'和' Book1.txt'。 sFiles是字符串的单元格数组,因此我们可以这样做:
for i = 1:length(sFiles)
[~, sFilename, sExt] = fileparts( sFiles{i} );
if( strcmpi( sExt, '.xls' ) )
fprintf( '%s%s is a .xls file.\n', sFilename, sExt );
elseif( strcmpi( sExt, '.xlsx' ) )
fprintf( '%s%s is a .xlsx file.\n', sFilename, sExt );
else
fprintf( '%s%s is neither a .xls nor a .xlsx file.\n', sFilename, sExt );
end
end
结果是:
Book1.txt is neither a .xls nor a .xlsx file.
Book1.xls is a .xls file.
Book1.xlsx is a .xlsx file.
(Matlab很简单!)