我有一个要求客户端提供如下的json。
{
"2222": [
{
"Employees": "Resources"
},
{
"get": "obtain"
}
],
"33333": [
{
"Employees": "Partners"
},
{
"get": "receive"
}
],
"111111": [
{
"Employees": "Associates"
}
],
"ABCD": [
{
"Employees": "workers"
},
{
"test": "take"
},
{
"TEST": "TESTTING"
},
{
"Test": "Workers"
}
]
}
我必须根据ID从json读取值,并且如果第一个单词在加载时出现在我的网站中,则必须用json中给出的第二个单词替换第一个单词。所以我用js写了下面的代码。
function keywordReplace(idStore) {
$.getJSON("keywordReplace.json").done(
function(data) {
dynamicData = data;
$.each(dynamicData, function(key, value) {
if (key == idStore) {
$.each(value, function(keydata, valuedata) {
$.each(valuedata, function(keydata, valuedata) {
keyReplace(keydata, valuedata);
});
});
}
});
});
}
function keyReplace(oldKey, newKey) {
var re = new RegExp("//b"+oldKey+"//b", "g");
$("body").children().each(function() {
$(this).html($(this).html().replace(re, newKey));
});
}
但是现在他们告诉我替换所有单词,而不考虑json中给出的大小写。就像在Json中一样,如果他们要用“合作伙伴”替换“雇员”,那么我必须考虑所有旧词(“雇员”)的情况,并且必须在站点中进行相应的替换。表示如果“雇员”是小写字母,则用小写字母“伙伴”代替,大写字母和驼色字母也是如此。
在json中,它们也可以替换阶段。
答案 0 :(得分:0)
var keywordToReplace =“合作伙伴”; var replaceKeyword =“雇员”;
1)检查每个循环,如果replaceKeyword.charAt(0)是大写字母,则将其替换为keywordToReplace变量,否则,如果所有字符都小写,则使keywordToReplace.toLowerCase()。
2)还要使用replaceKeyword.toUpperCase()==变量进行检查,然后所有字符均以大写字母表示,然后将其替换为keywordToReplace.toUpperCase()
3)对于所有匹配的旧外观相似字符,您必须确保数组中包含所有可能相似的单词,以进行比较