2010年1月27日水曜日

正規表現で色コードを削除

有志の方が日本語Modを公開してくれたおかげで、Torchlightが日本語表示できるようになりました。
ただ、現状のバージョン1.14では、日本語が混じると色コードが誤認識されて、正しく表示されないことが多々あります。

なので、とりあえずは、色コード指定を削除してしまうのが手っ取り早い解決策。

ここでは、正規表現を使った文字列置換で色コードを削除する方法を紹介します。

まずは、正規表現に対応した文字列置換ソフトを用意します。
egrepでもDevasでもお好きなのをどうぞ。
ここでは、Devasを例にとります。

まず、左下のコンボボックスから「正規表現検索」を選択。
検索文字列に以下のパターン
\|c.{8}(.*?)\|u
を入力。
色コードは|cxxxxxx00文字列|uで指定されているので、中の文字列を取り出すにはこういったパターンになります。
何でこうなるのかを知りたい人はググってください。
対象ファイル/フォルダは自分の環境に合わせて入力。
対象ファイルの条件は
*.dat *.layout
を入力。
サブフォルダも検索をチェックしてから、
右下の検索ボタンを押す。
すると、検索結果一覧が出てくるので、
置換文字列に
\1
を入力してから、結果のプレビューボタンを押すと、置換結果が表示されます。
ちなみに、\1というのも正規表現のパターンでして、これは検索時に使用した()内の文字列を指すパターンです。
また、ここでは使いませんが、$0には、マッチした文字列全体が入っています。
問題なければ右下の置換ボタンを押せば一気に色コードを削除できます。

あとは、ワードの後ろに半角スペースを挿入すればかなり見やすくなります。
色がなくなるので、ちょっと素っ気無いですけど。

0 件のコメント:

コメントを投稿