Perl的replace函数
在使用过程中,遇到一个问题,用Perl的正则表达式无法解决,其正则匹配虽然异常强大,不过好像没有发现满足我需要的replace函数,在实际情况中,我已经把需要替换的15位数据生成好了,只要在特定的文档中的特定的位置,如在需要行中的第15-20的位置把文本替换掉,正则无法做这个,只能手写了一个函数,通过Perl最基本的substr实现此功能:sub replace(){
my ($line,$exp,$beg,$end)=@_;
$len=rindex $line."\$", "\$"; #计算Line长度
my $line_left=substr($line,0,$beg);
my $line_right=substr($line,$end,$len);
my $newline=$line_left.$exp.$line_right;
}
整个非常简单,line就是原始字符串,exp就是要替换进去的字符串,beg和end是要将原始字符串替换的位置。
http://c.services.spaces.live.com/CollectionWebService/c.gif?space=darkjune&page=RSS%3a+Perl%e7%9a%84replace%e5%87%bd%e6%95%b0&referrer=http://c.live.com/c.gif?NC=31263&NA=1149&PI=88469&RF=&DI=3919&PS=85545&TP=darkjune.spaces.live.com&GT1=darkjune
页:
[1]