code: function replace(targetStr, searchStr, replaceStr, nPrev, nNext) {
    let result = targetStr;
    for (let i = 0; i < result.length; ++i) {
      if (result.substr(i, searchStr.length) === searchStr &&
        checkSubStr(result, i - nPrev.length, nPrev) === false &&
        checkSubStr(result, i + searchStr.length, nNext) === false) {
        result = result.slice(0, i) + replaceStr + result.slice(i + searchStr.length);
      }
    }
    return result;
  }
docs: targetStrの中にあるsearchStrをreplaceStrに置き換える 前にnPrevと、後ろにnNextがない場合に限る nPrevとnNextが空文字列の場合は、判定に使われない