codecamp

查询替换算法挑战

方法一:

function myReplace(str, before, after) {
  var bef = before.split('');
  var aft = after.split('');     //将两个单词都拆分成单词数组

  
  if(bef[0] >= 'A' && bef[0] <= 'Z'){     //判断before开头第一个字母是否是大写
    aft[0] =aft[0].toUpperCase();     //toUpperCase函数并不会改变原字符串,所以得用赋值的形式
    after = aft.join('');     //如果是大写,将after的首字母也转换成大写,然后合成新的after字符串
  }
  var newStr = str.replace(before,after);     //用replace函数替换掉目标单词
  return newStr;
}


myReplace("He is Sleeping on the couch", "Sleeping", "sitting");

方法二:

function myReplace(str, before, after) {
  var c = before.charAt(0),
      newAfter='';
  if(c<'A' || c>'Z'){
    newAfter = after.charAt(0).toLowerCase() + after.substr(1);
  }else{
    newAfter = after.charAt(0).toUpperCase() + after.substr(1);
  }
  var reg = new RegExp(before,"g");
  return str.replace(reg,newAfter);
}


myReplace("A quick brown fox jumped over the lazy dog", "jumped", "leaped");
对象搜索算法挑战
字符串移动插入算法挑战
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定