空白を削除する
「KIfu for Windows」を使って、KI2形式で棋譜を出力すると、
▲7六歩 △3四歩 ▲2六歩
このように出力される。この棋譜には、無駄に空白が多い気がする。だから空白を削除したいのだけど、いちいち手作業でするのは面倒だ。
ということで、空白を削除するソフトを探した。けど、見つからなかった。代わりに、空白行を削除するRubyの次のようなコードが見つかった。
i = open("a.txt") s = i.read i.close o = open("b.txt", "w") o.puts s.gsub(/\n(\s| )*\n/, "\n") o.close
以前Rubyを落としてあったので、試しに動かそうとしたら、ちゃんと動いた。よくわからないけど、このコードを真似して、ネットで調べながら、空白を削除するコードを書こうとした。
i = open("a.txt") s = i.read i.close o = open("b.txt", "w") o.puts s.delete("\s") o.close
これを動かしたら、ちゃんと動いた。次に、delete("\s")の所をstripにすれば、改行も消せるのかと思って試した。しかしすると、「空白が削除されたテキストの次に、改行が削除されたテキストが続くテキストファイル」が出てきた。よくわからない。
ところで、わざわざ新しいテキストファイルを作る必要もないので、テキストファイルを書き換えるプログラムが欲しい。だから書こうとしたけど、うまく行かなかった。あと、コードに色を付けると、せっかく地味な色に統一してたこのブログが、目が疲れるブログになってしまった。
(6/21 追記)
翌日試したら、stripのほうも正常に動いた。けど、またいじってるうちにおかしくなった。そのあと、しばらく放っておいてまた試したら正常に動いた。