ファイル内のJavaScriptを置き換えるためにJavaを使用する必要があります。私が取っている手順は基本的に次のようなものです。
- ファイルを読み込みます(別のシステムから生成されたJavaScriptを含む.aspファイルです)
- 不要なJavaScript関数を必要なものに置き換えます
- 最初に生成されたファイルに書き戻します
私のコードはreplaceAllメソッドでおかしくなりそうなので、ステップ2で問題が発生しています。このメソッドを置き換えたいとしましょう:
function sayHi() {
alert('hi');
}
...このようなもので:
function sayHi() {
alert("Hello, World!");
}
私は次のようなコードを持っています:
private static final String REPLACEMENT_METHOD =
"function sayHi() {\n" +
" alert('Hello, World!');\n" +
"}";
private static final String METHOD_TO_REPLACE =
"function sayHi() {\n" +
" alert('hi');\n" +
"}";
String content = // Get the contents from the file...
content = content.replaceAll(METHOD_TO_REPLACE, REPLACEMENT_METHOD);
私が遭遇している問題は、置き換えたい文字列が正規表現として解釈されていることです(これは単なるリテラルテキストですが、もちろん、正規表現として解釈されます)。残念ながら、特殊文字を適切にエスケープし、それでも希望どおりに一致させるための正しい構文を見つけることができませんでした。
何か案は?
ありがとう!