免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 5305 | 回复: 12
打印 上一主题 下一主题

单词查找问题o-o(续) [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2014-01-10 16:18 |只看该作者 |倒序浏览
10可用积分
本帖最后由 mingoing 于 2014-01-13 13:46 编辑

谢谢@只是一个红薯,@pitonas,尤其谢谢@jzp520520

cidian.zip

27.56 KB, 下载次数: 12

最佳答案

查看完整内容

#!/usr/bin/perluse strict;use warnings;no strict 'refs';#####将多个字典(dict1.txt dict2.txt)文件合并#####open (my $fh1,"dict1.txt");open (my $fh2,"dict2.txt");open (my $fh3,">","newdict.txt");my %h1;while () { chomp; my ($k,$v)=split /\s+/,$_,2; push @{$h1{$k}},$v; }while () { chomp; my ($k,$v)=split /\s+/,$_,2; next if $v~~@{$h1{$k}}; push @{$h1{$k}},$v; }map {my $k=$_;print $fh3 map{"$k\t$_\n" ...

论坛徽章:
0
2 [报告]
发表于 2014-01-10 16:18 |只看该作者
#!/usr/bin/perl
use strict;
use warnings;
no  strict 'refs';

#####将多个字典(dict1.txt dict2.txt)文件合并#####
open (my $fh1,"dict1.txt");
open (my $fh2,"dict2.txt");
open (my $fh3,">","newdict.txt");
my %h1;
while (<$fh1>) {
        chomp;
        my ($k,$v)=split /\s+/,$_,2;
        push @{$h1{$k}},$v;
       
}
while (<$fh2>) {
        chomp;
        my ($k,$v)=split /\s+/,$_,2;
        next if  $v~~@{$h1{$k}};
        push @{$h1{$k}},$v;
       
}

map {my $k=$_;print $fh3 map{"$k\t$_\n"}@{$h1{$_}};}sort keys %h1;
close($fh1);
close($fh2);
close($fh3);


open Afile,"WordList.txt";
open OOV,">","oov.txt";
open OOV1,">","oov1.txt";
while(<Afile>){
        chomp;       
         if (exists $h1{$_}) {
                 my $k=$_;
        print OOV1 map {"$k=>$_ \n"} @{$h1{$_}};
        }else{
        print OOV "$_\n";
        }
}
close(Afile);
close(OOV);
close(OOV1);

open Bfile,"tp6-6.txt";
open OOV2,">","oov2.txt";
open OOV3,">","oov3.txt";
while (<Bfile>) {
        while (/([a-zA-Z\']+)/g) {
                my $w=$1;
                print OOV2 "$w\t";
                 if (exists $h1{$w}) {
                print OOV3 map {"$w=>$_ \n"} @{$h1{$w}};
                }
        }
}

论坛徽章:
0
3 [报告]
发表于 2014-01-10 23:16 |只看该作者
楼主的思维比较混乱,多理一下!

论坛徽章:
5
丑牛
日期:2014-01-21 08:26:26卯兔
日期:2014-03-11 06:37:43天秤座
日期:2014-03-25 08:52:52寅虎
日期:2014-04-19 11:39:48午马
日期:2014-08-06 03:56:58
4 [报告]
发表于 2014-01-11 16:28 |只看该作者
真正动手搞起来又感觉特别吃力。{:2_169:}

论坛徽章:
5
丑牛
日期:2014-01-21 08:26:26卯兔
日期:2014-03-11 06:37:43天秤座
日期:2014-03-25 08:52:52寅虎
日期:2014-04-19 11:39:48午马
日期:2014-08-06 03:56:58
5 [报告]
发表于 2014-01-12 17:36 |只看该作者
呵呵,暂时还未看懂,慢慢理解…{:2_169:}

论坛徽章:
0
6 [报告]
发表于 2014-01-13 09:13 |只看该作者
谢谢您,我仔细研究一下。

回复 2# jzp520520


   

论坛徽章:
0
7 [报告]
发表于 2014-01-13 09:14 |只看该作者
回复 5# pitonas


   

论坛徽章:
0
8 [报告]
发表于 2014-01-13 09:54 |只看该作者
这一行“next if  $v~~@{$h1{$k}};”报错,说是“语法错误”。回复 2# jzp520520


   

论坛徽章:
6
卯兔
日期:2013-11-26 14:52:02丑牛
日期:2014-02-19 18:01:25卯兔
日期:2014-05-20 20:34:06白羊座
日期:2014-05-23 13:39:232015亚冠之大阪钢巴
日期:2015-08-07 20:57:582015亚冠之大阪钢巴
日期:2015-09-02 14:09:09
9 [报告]
发表于 2014-01-13 10:28 |只看该作者
perl 5.10.0可用智能匹配,不过有一些bug,perl 5.10.1修复了绝大多少bug,使用use 5.010001,或更高版本啊回复 8# mingoing


   

论坛徽章:
0
10 [报告]
发表于 2014-01-13 13:07 |只看该作者
我用的文本编辑器回复 9# 只是一个红薯


   
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP