免费注册 查看新帖 |

Chinaunix

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

关于正则表达式替换问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2012-02-22 14:26 |只看该作者 |倒序浏览
本帖最后由 liu3daniel 于 2012-02-22 14:28 编辑

下了人民日报98年一月的免费版想做几个自然语言方向的实验。
需要在标注版本中去掉各种标注几号得到日报原版,应该很简单呀。
下面是代码:
open TXT,"<199801.txt";
my $txt;
#先把全部语料合并在一个变量中,便于处理需要。
while(<TXT>){
        chomp;
        $txt.=$_;  
    }
#源语料标注规范为   汉字/something(小写字母)   的形式,于是:
my $txt_pure;
$txt_pure=~s/[a-z\/\s]//g;     #把小写字母,/,以及换行空格什么的全替换为空
open OUT,">out.txt";
print OUT $txt_pure;
#结果,一段汉字,一段乱码,求高人指教。

199801.rar

2.12 MB, 下载次数: 9

论坛徽章:
1
丑牛
日期:2014-02-14 17:07:04
2 [报告]
发表于 2012-02-22 16:28 |只看该作者
你这是代码片段吧,否则能跑出结果,我都觉得很神奇。  
$txt后来跑哪去了?
你的正则应该是没问题
我用以下代码试了下,都过滤了,没乱码。 环境是strawberryperl, v5.10.1
  1. #!/usr/bin/perl
  2. open TXT,"<199801.txt";
  3. open OUT,">out.txt";
  4. while(<TXT>){
  5.         chomp;
  6.         s/[a-z\/\s]//g;   
  7.         print OUT $_;
  8. }
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP