forked from TheAlgorithms/JavaScript
- Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathCountSubstrings.js
More file actions
Latest commit
29 lines (23 loc) · 798 Bytes
/
Copy pathCountSubstrings.js
File metadata and controls
29 lines (23 loc) · 798 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
/**
* @function countSubstrings
* @description Given a string of words or phrases, count the occurrences of a substring
* @param {String} str - The input string
* @param {String} substring - The substring
* @return {Number} - The number of substring occurrences
* @example countSubstrings("This is a string", "is") => 2
* @example countSubstrings("Hello", "e") => 1
*/
constcountSubstrings=(str,substring)=>{
if(typeofstr!=='string'||typeofsubstring!=='string'){
thrownewTypeError('Argument should be string')
}
if(substring.length===0)returnstr.length+1
letcount=0
letposition=str.indexOf(substring)
while(position>-1){
count++
position=str.indexOf(substring,position+1)
}
returncount
}
export{countSubstrings}