我在给这个问题赋予适当的标题时有点困难。下面是我想要的一个例子。
var originalString ="hello all, This is a hello string written by hello";
var substringToBeCounted = "hello";
var expectedString ="1 hello all, This is a 2 hello string written by 3 hello; .
我很想在整个字符串中附加“hello”实例的计数。
这是我到目前为止得到的工作解决方案:
var hitCount = 1;
var magicString = "ThisStringWillNeverBePresentInOriginalString";
while(originalString .match(substringToBeCounted ).length >0){
originalString = originalString .replace(substringToBeCounted , hitCount + magicString );
hitCount++;
}
var re = new RegExp(magicString,'gi');
originalString = originalString.replace(re, subStringToBeCounted);
为了解释上面的代码:我正在循环直到匹配在原始字符串中找到“hello”,并且在循环中我将 hello 更改为一些我想要的奇怪字符串。
最后,我将奇怪的字符串替换回 hello。
这个解决方案对我来说看起来很hacky。
有没有聪明的解决方案来解决这个问题。
谢谢