StringReplace を使って文字列を置換する関数を書いていたんですが、
問題があることがわかりました。

変換前の文字列と変換後の文字列の組を渡すのですが、
変換後の文字列に変換前の文字列が含まれると思った通りの結果になりません。

具体的には、
変換規則1 A→B
変換規則2 B→A
という規則の時、入力文字列が AB、欲しい結果は BA だとすると、
StringReplace を使って1.2.の順番に規則を適用すると
AB →(規則1)→ BB →(規則2)→ AA
となってしまいます。
2.1.の順番に適用しても欲しい結果になりません。
変換規則の変換前、変換後の文字列の長さがどちらも1なら自分で関数
書いてもどってことないんですが、実際にはどちらもユーザーが入力する
ので長さは不定です。

なんか解決策ないでしょうか?