JavaScript: Mehrere Wörter in einem String ersetzen

Diese JavaScript-Funktion ersetzt alle Wörter in dem String (str) mit den im Parameter „dictionary“ festgelegten Werten. Möglich wird das durch den Aufruf einer Callback-Funktion mit dem auf das Suchmuster (\w+) passenden Wert. In diesem Fall werden nur alphanumerische Wörter beachtet. Dieses Verhalten kann aber beliebig über den verwendeten regulären Ausdruck angepasst werden.

Code:

function dictionaryReplace(str, dictionary)
{
    return str.replace(/\w+/g,
    function(regex_match)
    {
        return dictionary[regex_match] || regex_match;
    })
}


Beispiel:

var dictionary = {"Hello": "Herzlich willkommen,", "world": "lieber Besucher!"};
var my_string = "Das ist ein Test: Hello world";

alert(dictionaryReplace(my_string, dictionary));
//Das ist ein Test: Herzlich willkommen, lieber Besucher!

3 Gedanken zu „JavaScript: Mehrere Wörter in einem String ersetzen“

  1. You can simplify it, replacing the

    new RegExp(„\w+“, „g“)
    by simply

    /w+/g

    function dictionaryReplace(str, dictionary)
    {
    return str.replace(/w+/g,
    function(regex_match)
    {
    return dictionary[regex_match] || regex_match;
    })
    }

Schreibe einen Kommentar