JavaScript-Javascript中如何将同一个字符按照不同的位置替换成不同的字符?

发布于 2017-01-28 06:57:54 字数 168 浏览 1408 评论 3

有这样一个需求,如下:

原字符串 'abc#efghgi#jkelfdss#fdsfd'
输出结果 'abcWefghgiXjkelfdssYfdsfd'
其中第一个#替换成W,第二个#替换成X,第三个#替换成Y,以此类推

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

泛泛之交 2017-11-12 20:15:13

这段代码可以实现该功能。

 var s = "abc#efghgi#jkelfdss#fdsfd";
var a = ["W", "X", "Y"];
s = s.replace(/#/g, function($0){
return a.shift();
});

灵芸 2017-09-29 15:39:08

这段代码可以实现上述功能

 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);

夜无邪 2017-02-03 06:30:52

这段代码可以实现这样的功能,不过不知道还有没有其他的方法

 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'

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文