FCC--Search and Replace(替换字符串)

算法描述:使用给定的参数对句子执行一次查找和替换,然后返回新句子。

第一个参数是将要对其执行查找和替换的句子。

第二个参数是将被替换掉的单词(替换前的单词)。

第三个参数用于替换第二个参数(替换后的单词)。

注意:替换时保持原单词的大小写。例如,如果你想用单词 "dog" 替换单词 "Book" ,你应该替换成 "Dog"。

解题思路:

给了三个提示工具函数Array.splice() 、String.replace()、 Array.join() 

提示函数为 function myReplace(str, before, after) {   return str;}

第一种:  

将字符串str转化为以单词为单位的多个数组,用数组中的值和before比较。

若相等,判断找到的字符串首字母是否为大写。

若是,则将after的首字母改为大写。

若不相等,继续向下寻找与before相等的字符串,重复第二步骤。

返回替换好的字符串。


第二种:

直接用after替换str中的before

再判断首字母的大小

----------------------------------------------------------------------------------------------------------------------------------------------------------

第一种是我一开始想到的,原因是对函数的不熟悉,第二种要比第一种简单的多,下面只贴第二种的代码。

function myReplace(str, before, after) {
  if(/[A-Z]/.test(before.split('')[0])){
    after = after.substring(0,1).toUpperCase()+after.substring(1);
  }
  str = str.replace(before,after);
  return str;
}

myReplace("A quick brown fox jumped over the lazy dog", "jumped", "leaped");

RegExp.test()判断首字母的大小写,split将before拆分成单个字母。

substring切割字符串,最后将改变后的after替换str中的before。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值