Sim*_*her 4 javascript jquery replace
我有一个大字符串,需要更换几次.如
var str="Username:[UN] Location:[LC] Age:[AG] ... "
str=str.replace("[UN]","Ali")
str=str.replace("[LC]","Turkey")
str=str.replace("[AG]","29")
...
//lots of replace
...
Run Code Online (Sandbox Code Playgroud)
有没有办法将这些FIND和REPLACE参数放到一个数组中,并立即替换所有这些参数?如:
reps = [["UN","Ali"], ["LC","Turkey"], ["AG","29"], ...]
$(str).replace(reps)
Run Code Online (Sandbox Code Playgroud)
ken*_*ytm 26
不需要jQuery.
var reps = {
UN: "Ali",
LC: "Turkey",
AG: "29",
...
};
return str.replace(/\[(\w+)\]/g, function(s, key) {
return reps[key] || s;
});
Run Code Online (Sandbox Code Playgroud)
/\[(\w+)\]/g查找表单的所有子字符串[XYZ]..replace将调用第二个参数中的函数来获得替换.reps[key]),它将搜索关联数组并尝试返回该替换.s将返回原始子字符串(),即不替换任何内容.(参见在Javascript中,当变量声明中存在逻辑运算符时,它意味着什么?关于如何||使其工作.)