获取一个非常大的字符串中子字符串的所有出现次数
- 论坛
- 获取一个非常大的字符串中子字符串的所有出现次数
13 浏览
获取一个非常大的字符串中子字符串的所有出现次数
我需要像indexOf一样找到所有索引,如果有indexOf和lastIndexOf,那么应该有一个函数来获取所有出现的索引吧?但我找不到。
请注意,字符串非常大,约为1MB大小,所以我需要最快的解决方案。
澄清一下,我需要获取子字符串在字符串中出现的所有位置。
例如:
var str = "foo bar foo bar"; //真实字符串大小为1MB
var indexes = str.indexOfAll('foo'); //我需要的函数
console.log(indexes); //应该打印[0,8];
脑海中浮现出一个想法,就是在一个循环中使用indexOf,找到第一个单词,将字符串切割为索引处的部分,然后再次使用indexOf,如此循环,直到找不到为止。我不确定性能如何(切割和重新创建大字符串)。