用perl查一个词表中的词在另一个文档中出现的,频率,输出频率表,并列出该词出现的索引行.我现在有一个词表文件,里面有十几个词,还有一篇已经分好行的一句一句的文章,要用perl写个程序算
来源:学生作业帮助网 编辑:作业帮 时间:2024/07/06 14:12:36
![用perl查一个词表中的词在另一个文档中出现的,频率,输出频率表,并列出该词出现的索引行.我现在有一个词表文件,里面有十几个词,还有一篇已经分好行的一句一句的文章,要用perl写个程序算](/uploads/image/z/7114354-34-4.jpg?t=%E7%94%A8perl%E6%9F%A5%E4%B8%80%E4%B8%AA%E8%AF%8D%E8%A1%A8%E4%B8%AD%E7%9A%84%E8%AF%8D%E5%9C%A8%E5%8F%A6%E4%B8%80%E4%B8%AA%E6%96%87%E6%A1%A3%E4%B8%AD%E5%87%BA%E7%8E%B0%E7%9A%84%2C%E9%A2%91%E7%8E%87%2C%E8%BE%93%E5%87%BA%E9%A2%91%E7%8E%87%E8%A1%A8%2C%E5%B9%B6%E5%88%97%E5%87%BA%E8%AF%A5%E8%AF%8D%E5%87%BA%E7%8E%B0%E7%9A%84%E7%B4%A2%E5%BC%95%E8%A1%8C.%E6%88%91%E7%8E%B0%E5%9C%A8%E6%9C%89%E4%B8%80%E4%B8%AA%E8%AF%8D%E8%A1%A8%E6%96%87%E4%BB%B6%2C%E9%87%8C%E9%9D%A2%E6%9C%89%E5%8D%81%E5%87%A0%E4%B8%AA%E8%AF%8D%2C%E8%BF%98%E6%9C%89%E4%B8%80%E7%AF%87%E5%B7%B2%E7%BB%8F%E5%88%86%E5%A5%BD%E8%A1%8C%E7%9A%84%E4%B8%80%E5%8F%A5%E4%B8%80%E5%8F%A5%E7%9A%84%E6%96%87%E7%AB%A0%2C%E8%A6%81%E7%94%A8perl%E5%86%99%E4%B8%AA%E7%A8%8B%E5%BA%8F%E7%AE%97)
用perl查一个词表中的词在另一个文档中出现的,频率,输出频率表,并列出该词出现的索引行.我现在有一个词表文件,里面有十几个词,还有一篇已经分好行的一句一句的文章,要用perl写个程序算
用perl查一个词表中的词在另一个文档中出现的,频率,输出频率表,并列出该词出现的索引行.
我现在有一个词表文件,里面有十几个词,还有一篇已经分好行的一句一句的文章,要用perl写个程序算出每个词的词频,并且把该词出现的索引行也输出,求大侠帮忙,木有计算机基础的人真的欲哭无泪,
用perl查一个词表中的词在另一个文档中出现的,频率,输出频率表,并列出该词出现的索引行.我现在有一个词表文件,里面有十几个词,还有一篇已经分好行的一句一句的文章,要用perl写个程序算
试试,写的不好,a.txt是写单词的,每行一个,b.txt是要检查的文档.所有单词未区分大小写.
#!/usr/bin/perluse strict;
my %Words;
my $matchString = '';
open WORDS,"< a.txt" or die "cannot open a.txt\n";
foreach () {
chomp;
s/\s+//g;
$Words{$_}{'count'} = 0;
}
close WORDS;
open FILE,"< b.txt" or die "cannot open b.txt\n";
foreach () {
chomp;
my $line = $_;
$_ s/,/ ,/;
$_ s/\./ \./;
my @words = split /\s+/,$_;
foreach my $word (@words){
$word s/[,.]$//;
$word s/^[,.]//;
foreach my $regex (keys %Words) {
if ($word /^($regex)$/i) {
$Words{$regex}{'count'}++;
$Words{$regex}{$line} = 1;
}
}
}
}
close FILE;
foreach my $word (sort keys %Words) {
print "单词“$word”共出现$Words{$word}{'count'}次,";
print "包含单词“$word”的行如下:\n";
foreach (keys $Words{$word}) {
next if ($_ eq 'count');
print "$_\n";
}
}
print "succeed!\n";