※ 引述《luncha (謝謝)》之銘言:
: 目前在使用perl的字串處理
: 但是無法有效分開字符,想請大家解惑
: 想要把字串中”連續逗號”用空格隔開
: 如下:
: $str1=‘judge(“pat, pat1, pat2”, INIT,,,,,,,,,,,)‘;
在此提供兩個解法,看看您覺得哪種比較好理解囉。
方法1: 利用 zero-width lookahed[1]
$str1 =~ s/,(?=,)/,/g;
方法2: 利用 s///e [2]
$str1 =~ s{(,,+)}{ join(" ", split("", $1)) }ge;
[1]: https://perldoc.pl/perlre#Lookaround-Assertions
[2]: https://perldoc.pl/perlop#s%2FPATTERN%2FREPLACEMENT%2Fmsixpodualngcer