作者pcjustin (寫本快樂日記)
看板perl
標題[問題] 去除bbs變色字碼
時間Sun Jan 14 21:32:05 2007
(修改版)
=============================
#!/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
1F:推 cole945:把(.*?)改成用[^m]*呢..把出現m的狀況去除~ 01/14 23:12
2F:推 pcjustin:還是一樣結果呢 01/15 00:11
3F:推 Andor:[前面的ESC(\033)也要去除喔 ^^ 01/15 01:26
4F:→ Andor:再就是用 print OUTPUT $_; 比較安全和高效吧﹖ 01/15 01:28
5F:推 pcjustin:成功了,發現原來是我在搞笑 01/15 09:17
6F:→ pcjustin:如果把文章貼到console,某幾行會不見,改用讀檔就沒事了 01/15 09:18
7F:→ pcjustin:謝謝樓上二位 ^^ 01/15 09:19
※ 編輯: pcjustin 來自: 125.232.5.242 (01/15 09:21)