我如何在多个.csv文件名中切割字符串,同时保持Matlab中的起始字符串?

  • 本文关键字:字符串 Matlab 文件名 csv matlab
  • 更新时间 :
  • 英文 :


这是我在文件夹84 files中的。csv文件的示例

W17F07mylatest0_077004_20220214_122524_a
W17F07mylatest0_077005_20220214_122530_a
W17F07mylatest0_077006_20220214_122537_a
W17F07mylatest0_077007_20220214_122543_a

我想删除"_20220214_122524_a"获取每个文件的部分:

W17F07mylatest0_077004
W17F07mylatest0_077005
W17F07mylatest0_077006
W17F07mylatest0_077007

我试过使用

movefile('W17F07mylatest0_077005_20220214_122530_a.csv','W17F07mylatest0_077005.csv')

newStr = extractBefore(W17F07mylatest0_077005_20220214_122530_a.csv, "_2022");
name_join = strcat(newStr, ".csv");

我每次只能更改一个文件,但需要一个代码来循环文件夹中的所有文件。

谢谢你的帮助。

假设下划线位置不变,可以使用

fname='W17F07mylatest0_077004_20220214_122524_a';
fnamesplit=split(fname,'_');
fnamej=strjoin(fnamesplit(1:2),'_');
fnamej =
'W17F07mylatest0_077004'

批量处理:

filedir=dir('.*.csv');
for ifd=1:length(filedir)
fname=filedir(ifd).name;
fnamesplit=split(fname,'_');
fnamej=strjoin(fnamesplit(1:2),'_');
movefile(filedir(ifd).name,fnamej) 
end

我没有实际的文件来测试这些。如果你有任何错误,请告诉我。

最新更新