我遇到了文本处理问题。我有一篇文章,我想知道有多少“真实”的单词。如何用Perl计算文本中的“真实”单词?
这是我的意思是“真实的”。文章通常包含各种标点符号,如短划线,逗号,点等。我想知道的是有多少个单词,像“-
”短划线和“,
”逗号跳过空格等。
我试着这样做:
my @words = split ' ', $article;
print scalar @words, "\n";
但包括有空格的话作为各种标点符号。
所以我想用这个的:
my @words = grep { /[a-z0-9]/i } split ' ', $article;
print scalar @words, "\n";
这将匹配任何字符或数字在他们的所有单词。你怎么看,这是否足够好的方式来计算文章中的词汇?
有没有人知道这可能是CPAN上的一个模块吗?
你做过任何测试吗? – TheZ 2012-07-11 20:27:00
1)在一小段具有已知字数的示例文本上运行代码。 2)调整你的代码,直到它同意。 – Flimzy 2012-07-11 20:27:53
你的单词是否包含任何非ascii字符? – TLP 2012-07-11 21:33:14