[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

(DTPtechNote:1506) [ruby]改行の削除



http://www.dtp.il24.net/tubo/cgi-bin/dtp.cgi?mode=allread&no=4389&page=0
の話題なのだが、なんとなく懐かしい感じがしたのでメモ。

ruby -Ku -pe '$_.chomp!;$_.sub!(/^( |「|『)/){"\n#{$1}"}' test.txt 
ってのは一旦全部の改行をとっぱらって、行頭のスペースか括弧の前に改行を入れるんだけど、かなり乱暴ではある^^

むかし和光さんが(perlで)最初の100行くらい読み込んで
最大行長を推定し、約モノのブラ下がりや欧文のバイト増減分を考慮して不要(そう)な改行を削除するってやり方を見たことがある。
当時は「なるほどね」と思ったりした。安全かもしれないけれど、正確じゃない。

上に書いたワンライナーだって、行頭のスペースや括弧がなければなんの意味もない。
こういうのに答えはないのかもしんないなぁ。
他の方法を思いついた人はいますか?