2

.txt ファイル内の一連のテキストを分析しています。ファイルには 30 行あり、各行には、テキスト、数字、および記号の両方を含むさまざまなフレーズが含まれています。

  1. 分析のためにこのファイルを Matlab にインポートする最良の方法は何ですか (つまり、テキスト ファイルに含まれる Capital I の数またはファイルに含まれる #text フレーズの数 (各行のツイートの分析)
4

2 に答える 2

3

ファイルを行ごとに読み取り、各行をセル配列のセルに保存するのが最善だと思います。

fid = fopen(filename);
txtlines = cell(0);
tline = fgetl(fid);
while ischar(tline)
    txtlines{numel(txtlines)+1}=tline;
    tline = fgetl(fid);
end
fclose(fid);

このようにして、 で各行に簡単にアクセスできますtxtlines{ii}

常に完全なテキストに対して操作を実行する必要がある場合 (つまり、行ごとではなく、テキスト ファイル全体の a の数)、もちろん行を 1 つの変数にまとめることができます。

各行で操作を実行するには、cellfunを使用して簡単に実行できます。たとえば、大文字の「I」の数を数えます。

capI_per_line = cellfun(@(str) numel(strfind(str,'I')),txtlines);
于 2012-12-07T00:34:27.957 に答える
0

ファイルのサイズが妥当な場合 (ほとんどの 30 行のファイル)、一度にすべてをメモリに読み込みます。

fid = fopen('saturate.m');
str = fread(fid,inf,'*char')';
fclose(fid);

次に、必要に応じて、変数に対して基本的な行列演算、文字列演算、または正規表現スタイルの分析を使用できstrます。

たとえば、「大文字の「I」はいくつ?」は:

numIs = sum(str=='I'); 

または、「「someString」のインスタンスはいくつありますか?」は:

numSomeString = length(strfind(str, 'someString'));
于 2012-12-07T01:54:45.033 に答える