UNPKG

@technobuddha/library

Version:
20 lines 1.3 kB
/** * Compute the number of times a substring occurs within a string * @param input - The string * @param substring - The substring to look for * @param options - see {@link CountOptions} * @returns number of times *substring* occurs within *input* * @group String * @category Operations */ export function count(input, substring, { overlap = false } = {}) { const step = overlap ? 1 : substring.length; let cnt = 0; let pos = 0; while ((pos = input.indexOf(substring, pos)) >= 0) { cnt++; pos += step; } return cnt; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY291bnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvY291bnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBVUE7Ozs7Ozs7O0dBUUc7QUFDSCxNQUFNLFVBQVUsS0FBSyxDQUNuQixLQUFhLEVBQ2IsU0FBaUIsRUFDakIsRUFBRSxPQUFPLEdBQUcsS0FBSyxLQUFtQixFQUFFO0lBRXRDLE1BQU0sSUFBSSxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDO0lBQzVDLElBQUksR0FBRyxHQUFHLENBQUMsQ0FBQztJQUNaLElBQUksR0FBRyxHQUFHLENBQUMsQ0FBQztJQUVaLE9BQU8sQ0FBQyxHQUFHLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztRQUNsRCxHQUFHLEVBQUUsQ0FBQztRQUNOLEdBQUcsSUFBSSxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsT0FBTyxHQUFHLENBQUM7QUFDYixDQUFDIn0=