作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我遇到了文本处理问题。我有一篇文章,我想知道有多少个“真实”的词。
这就是我所说的“真实”。文章通常包含各种标点符号,例如破折号,逗号,点等。我想知道的是有多少个单词,跳过像“-
”破折号和“ ,
"带空格的逗号等
我试过这样做:
my @words = split ' ', $article;
print scalar @words, "\n";
但这包括各种带有空格的标点符号。
所以我正在考虑使用这个:
my @words = grep { /[a-z0-9]/i } split ' ', $article;
print scalar @words, "\n";
这将匹配所有包含字符或数字的单词。您认为这种计算文章字数的方法是否足够好?
有谁知道 CPAN 上的某个模块可以执行此操作吗?
最佳答案
尝试使用:\W
- 任何非单词字符,同时删除 _
解决方案
use strict;
my $article = 'abdc, dd_ff, 11i-11, ff44';
# case David's, but it didn't work with I'm or There's
$article =~ s/\'//g;
my $number_words = scalar (split /[\W_]+/, $article);
print $number_words;
关于perl - 我如何用 Perl 计算文本中的 "real"个单词?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11440902/
我是一名优秀的程序员,十分优秀!