0

可能であれば、Matlab でさまざまなテキスト ファイルを読み取る方法を教えてください。誰もが処理する必要がある 33 個の txt ファイルがあることを考慮してください。エラーがあるのは私のコードです。:(

 textFilename = cell(1,33);
        id = cell(1,33);
        for k=1:33;
        textFilename{k} = fullfile('C:\Users\Desktop\SentimentCode\textfiles',['file' num2str(k)     '.txt']);
        id{k} = fopen(textFilename{k},'rt'); 
        str{k} = textscan(id{k},'%s%s'); 

    end                                                      
    str(str == '.') = '';
    str(str == '_') = '';
    str(str == '-') = '';


% Remove numbers from text
    T =regexprep(str, '[\d]', ' ');                                  

  and my error is :   ??? Undefined function or method 'eq' for input arguments of type 'cell'.

Error in ==> Untitled9 at 23
str(str == '.') = '';
4

2 に答える 2

0

現在の編集では、エラーは の削除に向けられているようです。- および _ 文字。== 比較は、textscan がセルを返す間、文字列でより適切に機能します。

それ以外の

str(str == '.') = '';
str(str == '_') = '';
str(str == '-') = '';

使ってみて

regexprep(str,'(\.|-|_)','')

すべてを一度に置換します (「.」は特殊文字であるため、「\.」が必要です)。これはセル文字列で機能するため、セル構造のさによっては、for ループ、str{k}、str{k}{1}、str{k}{i} などで呼び出す必要がある場合があります。ファイル内でのデータの配置方法に応じて、 cellfun または/およびstrjoinを確認することができます。

于 2014-06-01T09:14:25.617 に答える