检查word周围的空格,而不是使用JavaScript在RegExp中替换它们

时间:2017-03-16 09:54:57

标签: javascript regex

如何阻止我的“翻译员”尝试替换,例如单词keyboard,就像单词keyboard以及单词treehouse一样比如treehouse

我在调用函数时添加了一些空格以防止它,但我需要的是在创建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);
})();

0 个答案:

没有答案