2

Apache Commons Lang を使用して、プレフィックスのみを使用してマークされた文字列内の変数を置き換えようとしています。たとえば、SQL クエリでStrSubstitutorマークされた名前付きパラメーターなどです。:

これが私が使用しているコードスニペットです。これは機能しません。

import com.google.common.collect.ImmutableMap;
import org.apache.commons.lang3.text.StrMatcher;
import org.apache.commons.lang3.text.StrSubstitutor;

Map<String,String> m = ImmutableMap.of("a", 1);

StrSubstitutor strSubstitutor = new StrSubstitutor(m)
        .setVariablePrefix(":")
        .setVariableSuffix("");
System.out.println(strSubstitutor.replace("select a from t where a = :a"));
// expect select a from t where a = 1

それを行う方法はありますか?

カスタムを実装しようとしていますStrMatcherが、まだ成功していません。以前にそれを行ったことがあり、経験を共有できる人はいますか?

4

1 に答える 1