[a][z] という形式の短い文字列のコレクションがあります。ここで、a と z は (コンポーネント) 部分文字列です。[z] に入る文字列は 100 程度に制限されており、入力文字列全体で 1 つしか表示されません。
ここで、[z] 文字列を別の文字列に置き換える必要があります。データ形式を考えると、一致するものを見つけるとすぐに、探すのをやめることができます。置換された文字列を返したい。
変更された文字列を返す前にすべての可能性をループするため、私のアプローチは最適ではありません。おそらく、一致したときに入力文字列が変更されるという事実を使用して、検索を中断する方法があるかどうか知りたいですか? 置換が行われたことをどのように確認できますか? この関数は、ページの読み込みごとに約 1000 回実行する必要があるため、改善が見られると思います。前もって感謝します!
function replaceEnd(input) {
// bb, cc, and d are what I call [z]
input = input.replace("bb", "Bob");
input = input.replace("ccc", "Carl");
input = input.replace("d", "Dave");
return input;
}
document.write(replaceEnd("aabb") + "<br>");
document.write(replaceEnd("eaccc") + "<br>");
document.write(replaceEnd("uoid") + "<br>");
出力:
aaBob
eaCarl
uoiDave