作者Austin9 (奥斯丁)
看板Perl
标题[问题] 同一行上字串的处理
时间Sun Dec 28 11:03:57 2008
不好意思,想请问一下同一行字串的处理
现在有一组字串如下
$test=aa#apple;inquire;keep/bb#about;abc;grammar;new;englsih;
想将它改成为
aa@1apple@2inquire@3keep/bb@1about@2abc@3grammar@4new@5englsih
我的写法为先将#号都改成@1,但是";"这部份就有困难了,我用reg方
式去判断结果是一直累加下去,变成如下
aa@1apple@2inquire@3keep/bb@1about@4abc@5grammar@6new@7englsih
$ECounter = 2;
if (/#/) {
s/#/@.1/ge;
if (/\@1/) {
$ECounter = 2;
s/;/@.$ECounter++/ge;
print ;
}
}
这样看起来,好像它会并不会去判断後面的东西,而是直接replace,有方法
可以利用reg且还可以在同一行进行判断吗?谢谢。
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 219.68.26.44