level 2
522731089
楼主
首先谢谢斑竹!
然后现在我有新问题了,找众人帮忙,谢谢关心!!首先附上斑竹的答案。
要求是:随便输入一段话(不少于50个汉字),然后找出其中每个字出现的次数,其中次数出现10次以上的删掉(应该是去掉停用词之类的)。可以是分好的词,好像还要用到hash函数,老师说这样才简单,要是有别的方法也谢谢。
斑竹上次给的程序很好,然后现在我有了新的问题。
#!usr/bin/perl
use utf8;
open(INFILE,"E:\\perl\\fenci.txt")||die"can't open";(#我要把这个fenci.txt文档输进去,是分词之后的文档,不止一段。现在我想把每一段的回车符去掉,要不然总是显示第一个回车符之前的那一段。)
$message=<INFILE>;
@element=split /\s+/,$message; (#分词就必定要用到空格嘛,所以我这用了split /\s+/)
chomp;(#大虾帮忙看看是不是这个加上这个函数,可是加完之后我这还是没有什么不同的!)
foreach(@element){$hash{$_}=0;}
foreach (keys %hash){
foreach $key (@element){
$r++ if /$key/;
}
$hash{$_}=$r;
$r=0;
}
print "all tables:\n";
foreach(keys %hash){
print " $_=>$hash{$_} \n";}
foreach(keys %hash){
delete($hash{$_}) if $hash{$_}>5;
delete($hash{$_}) if $hash{$_}<2;
}
print "delete frequency of five :\n";
foreach(keys %hash){
print " $_=>$hash{$_} \n";}
close(INFILE);
后面还没有多大的改动,关键是先卡到这点儿了。还有一点,我用分词程序分完之后,这个文档没有办法显示,

这个偶不明白!头好痛啊!
呵呵,小女子才开始看这个,希望大家多多关照。
2010年05月15日 13点05分
1
然后现在我有新问题了,找众人帮忙,谢谢关心!!首先附上斑竹的答案。
要求是:随便输入一段话(不少于50个汉字),然后找出其中每个字出现的次数,其中次数出现10次以上的删掉(应该是去掉停用词之类的)。可以是分好的词,好像还要用到hash函数,老师说这样才简单,要是有别的方法也谢谢。
斑竹上次给的程序很好,然后现在我有了新的问题。
#!usr/bin/perl
use utf8;
open(INFILE,"E:\\perl\\fenci.txt")||die"can't open";(#我要把这个fenci.txt文档输进去,是分词之后的文档,不止一段。现在我想把每一段的回车符去掉,要不然总是显示第一个回车符之前的那一段。)
$message=<INFILE>;
@element=split /\s+/,$message; (#分词就必定要用到空格嘛,所以我这用了split /\s+/)
chomp;(#大虾帮忙看看是不是这个加上这个函数,可是加完之后我这还是没有什么不同的!)
foreach(@element){$hash{$_}=0;}
foreach (keys %hash){
foreach $key (@element){
$r++ if /$key/;
}
$hash{$_}=$r;
$r=0;
}
print "all tables:\n";
foreach(keys %hash){
print " $_=>$hash{$_} \n";}
foreach(keys %hash){
delete($hash{$_}) if $hash{$_}>5;
delete($hash{$_}) if $hash{$_}<2;
}
print "delete frequency of five :\n";
foreach(keys %hash){
print " $_=>$hash{$_} \n";}
close(INFILE);
后面还没有多大的改动,关键是先卡到这点儿了。还有一点,我用分词程序分完之后,这个文档没有办法显示,
这个偶不明白!头好痛啊!呵呵,小女子才开始看这个,希望大家多多关照。