3
07/11/2024 1:32 pm
Topic starter
Write a JS function that finds, how many times a given word, is used in a given sentence. Note that letter case does not matter – it is case-insensitive.
The input comes as 2 string arguments:
- The first one will be the sentence
- The second one – the word.
Examples:
Input:
The waterfall was so high, that the child couldn’t see its peak.
the
Output:
2
Input:
How do you plan on achieving that? How? How can you even think of that?
how
Output:
3
Input:
There was one. Therefore I bought it. I wouldn’t buy it otherwise.
there
Output:
1
The output is a single number indicating the amount of times the sentence contains the word.
1 Answer
2
07/11/2024 1:33 pm
You should use RegExp in your task. There is a Regex constructor that accepts a string representing the regex pattern (see line #2):
- RegExp expects a string, NOT a regex literal!!!
- Since the backslash is the escape character in strings as well, in order to create a literal backslash for the expression you have to escape it: \\.
- With all that said, your JavaScript code should be:
function findOccurrences(input, check) {
let pattern = new RegExp("\\b" + (check) + "\\b", "gi");//using new RegExp to create regex from a string and add the variable check
let matches = input.match(pattern);
let count = 0;
for (let i in matches) {
count++;
}
console.log(count);
}
findOccurrences("The waterfall was so high, that the child couldn’t see its peak.",
"the");
//findOccurrences("How do you plan on achieving that? How? How can you even think of that?",
// "how");
//findOccurrences("There was one. Therefore I bought it. I wouldn’t buy it otherwise.",
// "there");
