1

以前、ツイートのリストからハッシュタグを抽出してセルの配列に入れるスクリプトを作成する方法について、いくつかの助けを得ました。これをforループ内のコードとして使用しました

hashtagCell{i} = regexp(textRead{i}, '#[A-z]*', 'match');

これは本来の目的で機能しますが、ハッシュタグの平均文字長を見つけようとしているので、上記の関数によって引き出された各ハッシュタグの文字長を加算してそれらを合計できるようにする必要があります. ただし、 size() 関数を使用しようとすると、文字列のサイズではなく、セルのサイズが表示されるだけです。これが必要です。これを行う方法がわかりません。

4

2 に答える 2

1

単一の文字列の場合、次のようになります。

%# example string with hashtags.
MyText = 'this is a #text with #hashtag and also #another hashtag';

%# create the hashtagCell.
hashtagCell = regexp(MyText, '#[A-z]*', 'match');

%# compute the mean.
AverageLength = mean(cellfun(@(x) size(x,2), hashtagCell));
于 2012-12-14T02:46:38.013 に答える
0

これは役立つはずです(そして、おそらく、作成に使用されたもの以外のループを取り除きますCellOfText):

%# Example cell array of tweets
CellOfText = {'Bah #humbug says #Mr scrooge'; 'No #presents for you'};

%# Get all hash tags
HTC = regexp(CellOfText, '#[A-z]*', 'match');

%# Get the average hash tag length, being careful to unnest HTC
AvgLength1 = mean(cellfun('length', [HTC{:}]));

免責事項:この方法のインスピレーションは、同様の質問に対するこの優れた回答から得られました。@Andreyに感謝します。

于 2012-12-14T02:44:32.543 に答える