JSFiddle - React, Tailwind, and code Playground

by Jessie Lau

JavaScript

function findIndexes(wordToSearch,sentence){
    var indexes = [];
	var cursor = 0;
    for(var i = 0; i < sentence.length; i++){
    	if(wordToSearch[cursor] === sentence[i]){
            cursor ++;
            if(cursor == wordToSearch.length){
            	indexes.push(i-cursor+1);
                cursor = 0;
            }
        }
    	else{
        	cursor = 0; 
            
        }
    }
    return indexes;
}

function replace(wordToSearch, sentence){
	var indexes = findIndexes(wordToSearch,sentence);
    var allPos = [];
    for(var i = 0; i < indexes.length; i++){
        for(var j= indexes[i]; j< indexes[i] + wordToSearch.length; j++){
            allPos.push(j);
        }
    }
    var ret = "";
    var curs = 0;
     for(var i=0; i< sentence.length; i++){
        if(i == allPos[curs]){
            ret += "*";
            curs++;
        }
        else{
    		ret += sentence[i];
        }
    }
    return ret;

}

console.log(replace("ludo", "ludo lud hello ludo ludo")); //  [4,15]