不好意思,想請問一下同一行字串的處理
現在有一組字串如下
$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