J'ai fini par demander l'aide d’@Aristoi pour les regexp, et j'ai bien fait... regarde à quoi on est arrivés...
str = str.replace(/([iIxXvV]*)e siècle/g, "\{\{s|$1\}\}"); // tous les siècles str = str.replace(/([iIxXvV]*)\{\{e\}\} siècle/g, "\{\{s|$1\}\}"); // et même si e en exposant
et
str = str.replace(/M\. ([^ \.,…\|\}]*)/g, "\{\{M.\|$1\}\}"); // colle M. nom plus joli que lié
(la liste complète des Mme, Mlle, M. est sur mon typo.js)
ça va nous faciliter le ménage, ça... \o/
je travaille encore sur Louis XIV -> Louis XIV (quel que soit le numéro... car on doit tenir compte des éventuelles ponctuations...