JavaScript-Javascript中如何将同一个字符按照不同的位置替换成不同的字符?
有这样一个需求,如下:
原字符串 'abc#efghgi#jkelfdss#fdsfd'
输出结果 'abcWefghgiXjkelfdssYfdsfd'
其中第一个#替换成W,第二个#替换成X,第三个#替换成Y,以此类推
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
这段代码可以实现该功能。
var s = "abc#efghgi#jkelfdss#fdsfd";
var a = ["W", "X", "Y"];
s = s.replace(/#/g, function($0){
return a.shift();
});
这段代码可以实现上述功能
var old_text="abc#efghgi#jkelfdss#fdsfd";
var dst = ['W','X','Y'];
var reg=/([^#]+)#/i;
for(var i in dst){
new_text=old_text.replace(reg,"$1"+dst[i]);
old_text=new_text;
}
document.write(new_text);
这段代码可以实现这样的功能,不过不知道还有没有其他的方法
var dst = ['W','X','Y'];
var start = 0;
var str = 'abc#efghgi#jkelfdss#fdsfd';
for(var i in dst) {
start = str.indexOf('#');//返回第一个‘#’的位置
str = str.substring(0,start) + dst[i] + str.substring(start+1,str.length);
start++;//下一次循环从当前位置的下一个开始查找
}
alert(str);//'abcWefghgiXjkelfdssYfdsfd'