js 目标字符串在另一个字符串中第n次出现时替换

var str = `

关关雎鸠,在河之洲。

窈窕淑女,君子好逑。

参差荇菜,左右流之。

窈窕淑女,寤寐求之。

求之不得,寤寐思服。

悠哉悠哉,辗转反侧。

参差荇菜,左右采之。

窈窕淑女,琴瑟友之。

参差荇菜,左右芼之。

窈窕淑女,钟鼓乐之。`

var num = 2

var cha = '窈窕淑女'

var fillTxt= '__1__'

如何将str第二个窈窕淑女替换成__1__
结果

关关雎鸠,在河之洲。

窈窕淑女,君子好逑。

参差荇菜,左右流之。

__1__,寤寐求之。

求之不得,寤寐思服。

悠哉悠哉,辗转反侧。

参差荇菜,左右采之。

窈窕淑女,琴瑟友之。

参差荇菜,左右芼之。

窈窕淑女,钟鼓乐之。


回答:

js 目标字符串在另一个字符串中第n次出现时替换
=


回答:

举个例子:请看代码,matchStr表示匹配到的字符,index表示位于字符串的位置,str就是完整的字符串

var appearNum=0 // 记录字符串出现次数

"121".replace(/1/g,function(matchStr,index,str){

console.log(matchStr,index,str);

if(matchStr==="1"){

appearNum++

}

if(appearNum==2){

return "_"

}else{

return matchStr

}})

js 目标字符串在另一个字符串中第n次出现时替换


回答:

https://codepen.io/1567887123...

var str = `

关关雎鸠,在河之洲。

窈窕淑女,君子好逑。

参差荇菜,左右流之。

窈窕淑女,寤寐求之。

求之不得,寤寐思服。

悠哉悠哉,辗转反侧。

参差荇菜,左右采之。

窈窕淑女,琴瑟友之。

参差荇菜,左右芼之。

窈窕淑女,钟鼓乐之。`;

var num = 2;

var cha = "窈窕淑女";

var fillTxt = "__1__";

// 替换匹配位置的文本

function replaceIndex(str, cha, num, fillTxt) {

var s = [...str.matchAll(new RegExp(cha, "g"))][num - 1];

return (

s.input.substring(0, s.index) +

fillTxt +

s.input.substring(s.index + fillTxt.length - 1)

);

}

document.querySelector("#topic").innerText = replaceIndex(str, cha, num, fillTxt);

document.querySelector("#result").innerText = cha;


回答:

str.replace(new RegExp(`((?:${cha}(?:\\s|\\S)*?){${num - 1}})${cha}`), `$1${fillTxt}`)


回答:

[...'strstrstr'.matchAll('str')]

.map((item, idx) => (idx === 1 ? 'abc' : item[0]))

.join('');

// => strabcstr

以上是 js 目标字符串在另一个字符串中第n次出现时替换 的全部内容, 来源链接: utcz.com/p/935512.html

回到顶部