str=str.split('<span>').map(function(e){
let a=e.split('</span>')
a[a.length-1]=a[a.length-1].replace(/a/g,'<span>2222</span>')
return a.join('</span>')
}).join('<span>')
console.log(str)
方法1:循环替换,因为js里的replace默认只会替换一个1
2
3
4
var a = 'abcdefhij'
while(a.indexOf('') >= 0)
a = a.replace('',',')
alert(a)
方法2用正则替换:
1
2
3
var a = 'abcdefhij'
a = a.replace(//g,',')
alert(a)
replace函数一次只能替换一个目标字符串,可以配合while循环替换所有字符串。
1、在script标签中定义一个字符串,字符串内容为“一个中国北方的中国人在做中国结”,然后将内容输出在网页中:
2、使用replace函数,这时第一个“中国”文本被空字符串替换,但是还有两个“中国”文本没有被替换:
3、添加while循环,循环条件用“indexOf”函数来判断是否“中国”两个字还存在,如果存在则继续替换,不存在则结束,这时所有的目标字符串都被替换完成: