我有一组 [a][z] 形式的短字符串,其中 a 和 z 是(组件)子字符串。[z]中能进去的字符串限制在100个左右,整个输入字符串中只能出现一个。
现在,我需要将 [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