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+编程语言教程
取消
确定
目录

HTML5&CSS

JavaScript

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }