看板 Perl 關於我們 聯絡資訊
※ 引述《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 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.37.172.193 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Perl/M.1588180640.A.1F3.html
luncha: 感謝gu大,學到了lookahead與ge的用法 04/30 10:09
herculus6502: 推 05/01 19:52
herculus6502: 法1比較直觀 05/01 20:01
luncha: 後來選擇法2,s{(,,+)}改成s{(,[,@-\*])} ,因爲還要@,-,* 05/01 23:16
luncha: ,需要處理,用法2一行就能滿足 05/01 23:16