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");