JSFiddle - React, Tailwind, and code Playground
JavaScript
function generate(text,find,replace) {
var regex = new RegExp(find,"g"), matches = [], match;
while(match = regex.exec(text)) {
matches.push(match);
regex.lastIndex = match.index+1;
}
// for testing purposes:
document.write("<p><b>Text:</b> "+text+" | <b>Find:</b> "+find+" | <b>Replace:</b> "+replace+"</p><pre>");
matches.forEach(function(m) { // older browsers need a shim or old-fashioned for loop
document.write(text.substr(0,m.index)+replace+text.substr(m.index+find.length)+"\n");
});
document.write("</pre>");
}
generate("MIIII","III","U");
generate("MUIIIUIIIU","III","U");
generate("MUIIIIU","III","U");