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;
})
}
{
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!
var my_string = "Das ist ein Test: Hello world";
alert(dictionaryReplace(my_string, dictionary));
//Das ist ein Test: Herzlich willkommen, lieber Besucher!
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;
})
}
But is a powerful function, thanks for sharing
Hi Sergio,
thanks for your feedback. I’ve update the code.