如何阻止我的“翻译员”尝试替换,例如单词keyboard
,就像单词key
和board
以及单词treehouse
一样比如tree
和house
?
我在调用函数时添加了一些空格以防止它,但我需要的是在创建RegExp时在变量string
周围有一些东西,以便检查空格而不替换它们。
(function() {
let variable = 'Something. Treehouse bla bla keyboard bla - The End';
function replace(string, replacement) {
const pattern = new RegExp(string, 'gi');
variable = variable.replace(pattern, function(match) {
if(match.charAt(0) === match.charAt(0).toLowerCase()) {
return replacement;
} else {
return replacement.charAt(0).toUpperCase() + replacement.slice(1);
}
});
}
replace(' board', ' prancha');
replace(' house', ' casa');
replace('key ', 'chave ');
replace('keyboard', 'teclado');
replace('tree ', 'árvore ');
replace('treehouse', 'casa na árvore');
console.log(variable);
})();