根据MATLAB中输入文件的修改名称导出EXCEL文件

时间:2018-08-16 11:12:36

标签: excel matlab

对于我的MATLAB脚本,我加载一个EXCEL工作表。

filename='inp_x_arc.xlsx';
input=xlsread(filename);

现在,我想将数据导出到另一个EXCELsheet中,而不是inp_x_arc,我希望它是exp_x_arc

如何自动更改文件名以将inp替换为exp,并保留其余文件名(_x_arc.xlsx)。

到目前为止,我正在手动输入以下所有内容:

xlswrite('exp_x_arc.xlsx',S)

2 个答案:

答案 0 :(得分:1)

字符串操作:

exp_filename=['exp_',filename(5:end)];

OR

使用strrep

exp_filename=strrep(filename,'inp_','exp_');

请注意,使用strrep将替换文件名中所有inp_出现的地方。

答案 1 :(得分:1)

最安全的方法是使用正则表达式将子字符串inp_锚定在字符串的开头。

>>filename='inp_x_arc.xlsx';
>>str=regexprep(filename,'^inp_','exp_')

>>str =

    'exp_x_arc.xlsx'

根据注释,将原始字符向量与xlswrite一起使用可能会导致Excel问题。在这种情况下,写入之前用fullfile包装文件名会更安全:

>>filename='inp_x_arc'; 
>>str=fullfile(regexprep(filename,'^inp_','exp_'));

通常建议尝试避免xlswrite,而改用writetable