javascript怎么在指定的字符后插入字符

已知str1,str2,及包含在str2内的一个连续字符串str3。怎么在str2里的第一个str3后插入str1?如str1为kkk,str2为abc&d&,str3为... 已知str1,str2,及包含在str2内的一个连续字符串str3。怎么在str2里的第一个str3后插入str1?如str1为kkk,str2为abc&d&,str3为&,怎么实现在str2(abc&d&)里的第一个str3(&)后加入str1(kkk),而变成abc&kkkd&!请高手解答! 展开
 我来答
著名医生陈国良
推荐于2017-11-25 · TA获得超过1125个赞
知道小有建树答主
回答量:484
采纳率:0%
帮助的人:551万
展开全部

@cqh46 回答的代码有点问题,如果str2中包含不只两个str3就有问题了。不过思路是正确的,我在此基础上修改一下,请试试以下代码:

var str1="kkk",
    str2="sdfdf&ddd&zx&&s",
    str3="&",
    ary=str2.split(str3);

//当数组长度大于1,即str2中包含了str3
if(ary.length>1){ 
    //将数组的第二个元素前拼上str1
    ary[1] = str1 + ary[1];
    //再用str3做为分隔符将数组拼成字符串
    str2 = ary.join(str3);
}

alert(str2); // sdfdf&kkkddd&zx&&s


希望对你有所帮助。

追问
可以帮我写成function insertStr(str1,str2,str3){}的形式吗?
追答
function insertStr(str1, str2, str3){
var ary=str2.split(str3);
 
//当数组长度大于1,即str2中包含了str3
if(ary.length>1){ 
//将数组的第二个元素前拼上str1
ary[1] = str1 + ary[1];
//再用str3做为分隔符将数组拼成字符串
str2 = ary.join(str3);
}
return str2;
}

alert( insertStr('kkk', 'sdfdf&ddd&zx&&s', '&') );
//sdfdf&kkkddd&zx&&s
cqh46
2013-07-22 · TA获得超过3292个赞
知道大有可为答主
回答量:2149
采纳率:100%
帮助的人:1239万
展开全部
var str1 = "kkk";
var str2 = "abc&d&";
var str3 = "&";
var result = "";
var ary = str2.split(str3);
for(x in ary){
if(x == 0){
result = ary[x] + str3 + str1 + ary[parseInt(x)+1] + str3;
break;
}
}
document.write(result);

结果:abc&kkkd&

追问
那要是不是在第一个str3后面插入,而是在第二个str3后插入,又如何写
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式