如何在包含几个单词的子字符串之后插入字符串



嘿,我需要在其他字符串中添加一个子字符串。

问题是需要在几个给定的单词之后添加它。

例如: 需要放: $$$

字符串:"把我的钱还给我。

结果应该是:"把我的钱还给我$$$。

如果我的字符串包含:"还钱给我。

结果应该是:"还钱给我",没有任何变化

我的意思是,只有当字符串包含"我的钱"并在他之后插入新的子字符串时,才应该插入子字符串。

使用String#replace方法添加$$$。另外在替换方法内部对$有特殊含义,所以插入单$需要使用$$

console.log(
'Give me my money back.'.replace(/my money/, '$& $$$$$$')
// or '...'.replace('my money', '$& $$$$$$')
)

您可以创建一个简单的函数,该函数将接受 3 个参数:原始字符串、要在原始字符串中匹配的字符串以及匹配后将插入原始字符串的字符串。以下代码就是这样做的:

var s1 = 'Give me my money back.';
var s2 = 'Give me money back.';
var ss = 'my money';
function addDollars(originalString, matchText, addedText){
if(originalString.indexOf(matchText) > -1)
return originalString.slice(0,originalString.indexOf(matchText)+matchText.length)
+' ' +addedText+originalString.slice(originalString.indexOf(matchText)+matchText.length);
else
return originalString;
}
console.log(addDollars(s1,ss,'$$$'));
console.log(addDollars(s2,ss,'$$$'));

最新更新