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 回答