急ぎの人は[続きを読む]をクリックし、目次のやり方以降を読んでください
イメージできない場合はやりたいことの図を見てください。
1. 正規表現で置換する文字を残し
2. 置換指定した文字と文字の間に文字を挿入する。
ということです。
置換指定したのに文字が残るというのがポイントです。
「それ置換じゃないじゃん!」っていうことをやります。
説明読んでもよくわからない、イメージできない場合は下の例を見てください。
事例
前置き
A君は他の人が作った車のMODをテクスチャや色だけ塗り替えて自分が欲しかったMODに改造しました。しかし改造したMODには改造前と異なるファイル名が使われていないとゲームが改造前のMODと勘違いし上書きしちゃいます。
ゲームの公式サイトの和訳
「改造したMODのファイル名・フォルダ名はユニークじゃないと正しく読み込めないよ」
改造したMODには100以上のファイルと10個のフォルダがあります。またファイルの中にはプログラムが書かれており、中にはファイルを参照するプログラムがあります。
A君はどうしても改造したMODが使いたいです。どうやって100以上のファイルにあるプログラムのファイル名を書き換えればいいでしょうか?
やること
まずは1つ。
プログラムの中にあるファイル名を新しいファイル名にする。
以下、サンプルコード
mesh = "Vehicle/car/wheel5G/polySurface1695_lod7.msh",
やりたいこと
上のサンプルコードから.mshの前に指定した文字をつけたい
(polySurface1695_lod7とドットの間に文字を入れ、新しいファイル名にしたい)
mesh = "Vehicle/car/wheel5G/polySurface1695_lod7.msh",
使用した道具
使用した機能
Grep 置換
やり方
置換前欄に
[置換後残したい文字]\b
を入力
置換後欄には
任意の文字列 の後ろに 置換後残したい文字
を入力
実行例
置換前欄に [\.]\b を入力
→. ドットの前に新しい文字を追加してドットを残したい
置換後欄には AAA. を入力(\は円マーク、記号のエスケープシーケンス)
→. 置換でドットは消えるが置換後にドットを入れているので新しい文字を追加してドットを残すことができる。
実行結果
mesh = "Vehicle/car/wheel5G/polySurface1695_lod7AAA.msh",
.mshの部分は拡張子なのでどうしても残す必要があり、残すことができた。
(プログラム.が polySurface1695_lod7AAA.msh を参照できなくなる為)
これで100000個あろうが
プログラム内のファイル名を書き換えることができます。