2つのドル($)記号の間の値を置き換える必要があります。
以下は私が試した方法ですが、それがエレガントな方法だとは思いません。
String queryNoAdditionalFilter= SELECT PRODUCTNAME,PRODUCTSKEY FROM PRODUCTS WHERE PRODUCTID=$productid$
int start= queryNoAdditionalFilter.indexOf("$");
int end= queryNoAdditionalFilter.lastIndexOf("$");
String valueSubstitutedToFilter1 = queryNoAdditionalFilter.substring(start+1, end);
String keyToReplace = "\\$"+valueSubstitutedToFilter1+"\\$";
String valueSubstitutedToFilter2=queryNoAdditionalFilter.replaceAll(keyToReplace, "401250");
final outcome is :SELECT PRODUCTNAME,PRODUCTSKEY FROM PRODUCTS WHERE PRODUCTID=401250
Javaコードを介してこのロジックを実装するための最良の方法はどれですか?
あなたのアドバイスが必要です。