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]