Zweites Update
Ich habe die folgende Funktion entwickelt, die in der Produktion verwendet werden kann. Vielleicht kann sie jemand anderem helfen. Es handelt sich im Wesentlichen um eine Schleife der nativen replaceAll JavaScript-Funktion, die keine Verwendung von Regex macht:
function replaceMultiple(text, characters){
for (const [i, each] of characters.entries()) {
const previousChar = Object.keys(each);
const newChar = Object.values(each);
text = text.replaceAll(previousChar, newChar);
}
return text
}
Die Verwendung ist sehr einfach. So würde es aussehen, wenn man das Beispiel des OP verwendet:
const text = '#Bitte_senden_Sie_ein_Informationspaket_an_die_folgende_Adresse:';
const characters = [
{
"#":""
},
{
"_":" "
},
]
const result = replaceMultiple(text, characters);
console.log(result); //'Bitte senden ein Informationspaket an die folgende Adresse:'
Aktualisierung
Sie können jetzt replaceAll nativ verwenden.
Veraltete Antwort
Hier ist eine weitere Version unter Verwendung von String Prototype. Viel Spaß!
String.prototype.replaceAll = function(obj) {
let finalString = '';
let word = this;
for (let each of word){
for (const o in obj){
const value = obj[o];
if (each == o){
each = value;
}
}
finalString += each;
}
return finalString;
};
'abc'.replaceAll({'a':'x', 'b':'y'}); //"xyc"