522731089 522731089
关注数: 21 粉丝数: 24 发帖数: 78 关注贴吧数: 4
急寻答案,与上一个问题有关! 首先谢谢斑竹! 然后现在我有新问题了,找众人帮忙,谢谢关心!!首先附上斑竹的答案。 要求是:随便输入一段话(不少于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); 后面还没有多大的改动,关键是先卡到这点儿了。还有一点,我用分词程序分完之后,这个文档没有办法显示,这个偶不明白!头好痛啊! 呵呵,小女子才开始看这个,希望大家多多关照。
1 下一页