作者firegsh (~\cite{yaranaiga})
看板Perl
标题[问题] 中文文件中标点符号的取代
时间Tue Sep 20 16:16:07 2011
请教另一个问题:
假设我有一个编码为big5的中文文件,其中有许多标点符号,
如,。…!?
那麽我应该如何把所有标点符号统一为'。'呢?
目前试过s/,/。/g或是s/','/'。'/g都行不通,感谢
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.117.169.190
code
#!/usr/bin/perl
open(INITXT, "< $ARGV[0]") or die "cant write";
open(OUTTXT, "> $ARGV[1]") or die "cant write";
while($line2=<INITXT>)
{
chomp($line);
($init,$current);
$init=0;
$end=0;
$current=-1;
$current2=-1;
until(init==-1)
{
$init=index($line,'init',$current+1);
$end=index($line,'end',$current2+1);
$part=substr($line,$init,$end-init);
if($init!=-1)
{
$part=~s/,/。/g;
}
$current2=$end;
$current=$init unless($init==-1);
}
}
※ 编辑: firegsh 来自: 140.117.169.190 (09/20 16:48)
example类似这样
一二三四五六七,
七六五四三二一。
一二三四:
四三二一;
一二三四五…
希望得到的结果为
一二三四五六七。
七六五四三二一。
一二三四。
四三二一。
一二三四五。
※ 编辑: firegsh 来自: 140.117.169.190 (09/20 16:53)
※ 编辑: firegsh 来自: 140.117.169.190 (09/20 17:01)