DEV Community

Cover image for Detect a substring in a string
chandra penugonda
chandra penugonda

Posted on

Detect a substring in a string

How would you write a function to detect a substring in a string?

Example

function detectSubstring(string, subString) { return -1; } // console.log(detectSubstring('ggraph', 'graph')); // 1 // console.log(detectSubstring('geography', 'graph')); // 3 // console.log(detectSubstring('digginn', 'inn')); // 4 
Enter fullscreen mode Exit fullscreen mode

Solution 1

function detectSubstring(string, subString) { let j = 0; for (let i = 0; i < string.length; i++) { if (string[i] == subString[j]) { j++; if (j == subString.length) { return i - (subString.length - 1); } } else { i -= j; j = 0; } } return -1; } // console.log(detectSubstring('ggraph', 'graph')); // 1 // console.log(detectSubstring('geography', 'graph')); // 3 // console.log(detectSubstring('digginn', 'inn')); // 4 
Enter fullscreen mode Exit fullscreen mode

Solution 2

function detectSubstring(string, subString) { const substringLength = subString.length; for (let i = 0; i < string.length; i++) { let j = 0; while (j < substringLength && string[i + j] === subString[j]) { j++; } if (j === substringLength) { return i; } } return -1; } console.log(detectSubstring("ggraph", "graph")); console.log(detectSubstring("geography", "graph")); console.log(detectSubstring("digginn", "inn")); 
Enter fullscreen mode Exit fullscreen mode

Top comments (0)