非常に単純な質問で、今日は私の脳が凍っているので、それが存在することを知っているエレガントな解決策を考えることはできません。
「A+B」の形式で渡される数式があります
また、数式変数を「読み取り可能な名前」にマッピングしています。
最後に、数式の値を計算する数式パーサーがありますが、変数の読み取り可能な名前で渡された場合に限ります。
たとえば、入力として私は
String formula = "A+B"
String readableA = "foovar1"
String readableB = "foovar2"
出力を「foovar1+foovar2」にしたい
単純な検索と置換の問題は、「読み取り可能な」名前が何であるかについての保証がないため、簡単に壊れてしまう可能性があることです。さまざまなパラメータを使用してもう一度例を見てみましょう
String formula = "A+B"
String readableA = "foovarBad1"
String readableB = "foovarAngry2"
ループ内で単純な検索と置換を行うと、既に置換した読み取り可能な名前の大文字のAとBを置換することになります。
これはおおよその解決策のように見えますが、変数を角かっこで囲んでいません