MATLAB-从文件到另一个文件的特定句子之间复制文本

时间:2014-09-11 09:21:44

标签: regex matlab copy-paste

我在执行分类后得到了一些分数,这些分数保存在ASCII文件中,如下所示:

Time taken to build model: 0.39 seconds

=== Predictions on test data ===

inst#,    actual, predicted, error, probability distribution

     1 4:Walking_ 4:Walking_          0      0.015  0.061 *0.167  0.136  0.152  0.121  0.106  0.045  0.061  0.045  0.091
     2 4:Walking_ 4:Walking_          0      0.015  0.061 *0.167  0.136  0.152  0.121  0.106  0.045  0.061  0.045  0.091
     3 4:Walking_ 4:Walking_          0      0.015  0.045 *0.167  0.121  0.152  0.136  0.106  0.061  0.061  0.045  0.091
     4 4:Walking_ 4:Walking_          0      0.045  0.061 *0.167  0.121  0.152  0.136  0.106  0.015  0.03   0.076  0.091
     5 4:Walking_ 4:Walking_          0      0.03   0.061 *0.167  0.136  0.152  0.121  0.106  0.03   0.061  0.045  0.091
     6 10:jumping  9:running      +   0      0.03   0.045  0.106  0.121  0.136  0.091  0.076 *0.167  0.152  0.03   0.045

=== Stratified cross-validation ===
=== Summary ===

我想要的是读取文件并将行#,real,...和===分层交叉验证===之间的所有内容复制到另一个文件。使用正则表达式的解决方案是最合适的,因为文件的大小不同。提前谢谢。

1 个答案:

答案 0 :(得分:0)

在我看来,最好的方法是使用fscanffprintf。如下所示:

clear all 

fid = fopen('prova');

data = fscanf(fid,'%*[^=]%*[^\n]%[^=]',1);

fclose(fid);

fid = fopen('new','w');

fprintf(fid,'%c',data);

fclose(fid);

这当然只有在数据字段中不使用=时才有效。