看板 Perl 關於我們 聯絡資訊
(修改版) ============================= #!/usr/perl open IN, "<in.txt"; open OUTPUT, ">output.txt"; #open IN, ">in.txt"; while (<IN>) { s/\033\[(.*?)m/ /g; printf OUTPUT $_; } close IN; close OUTPUT; ============================= 想寫個去除bbs變色字碼的小程式 可是greedy好像無法正常作動 超過二個 [m 的行就會被刪掉 想請問大家,是我程式寫錯 還是有什麼方法成功 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.217.102.25
cole945:把(.*?)改成用[^m]*呢..把出現m的狀況去除~ 01/14 23:12
pcjustin:還是一樣結果呢 01/15 00:11
Andor:[前面的ESC(\033)也要去除喔 ^^ 01/15 01:26
Andor:再就是用 print OUTPUT $_; 比較安全和高效吧﹖ 01/15 01:28
pcjustin:成功了,發現原來是我在搞笑 01/15 09:17
pcjustin:如果把文章貼到console,某幾行會不見,改用讀檔就沒事了 01/15 09:18
pcjustin:謝謝樓上二位 ^^ 01/15 09:19
※ 編輯: pcjustin 來自: 125.232.5.242 (01/15 09:21)