Search and Replace -freecodecamp算法题目
Search and Replace
1.要求
- 使用给定的参数对句子执行一次查找和替换,然后返回新句子。
- 第一个参数是将要对其执行查找和替换的句子。
- 第二个参数是将被替换掉的单词(替换前的单词)。
- 第三个参数用于替换第二个参数(替换后的单词)。
- 替换时保持原单词的大小写。例如,如果你想用单词 "dog" 替换单词 "Book" ,你应该替换成 "Dog"。
2.思路
- 将句子用.split(' ')分割成各个单词组成的数组
- 判断要被替换的的单词是否开头大写,是,则将用于替换的单词也开头大写
- 利用.indexOf()寻找到被替换单词的索引,利用.splice()删除要被替换的单词,再添加用于替换的单词即可
- 最后用.join()将单词数组合并成句子
3.代码
function myReplace(str, before, after) {
str = str.split(" ");
if(before[0]>='A'&&before[0]<='Z'){
after = after.slice(0,1).toUpperCase()+after.slice(1);
}
var num = str.indexOf(before);
str.splice(num,1,after);
return str.join(" ");
}
myReplace("A quick brown fox jumped over the lazy dog", "jumped", "leaped");
4.相关链接
- https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Array/splice
- https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Array/join
Search and Replace -freecodecamp算法题目的更多相关文章
- Map the Debris -freecodecamp算法题目
Map the Debris 1.要求 返回一个数组,其内容是把原数组中对应元素的平均海拔转换成其对应的轨道周期. 原数组中会包含格式化的对象内容,像这样 {name: 'name', avgAlt: ...
- Spinal Tap Case -freecodecamp算法题目
Spinal Tap Case 1.要求 将字符串转换为 spinal case. Spinal case 是 all-lowercase-words-joined-by-dashes 这种形式的,也 ...
- [优化]Steamroller-freecodecamp算法题目
晚上在medium看到一篇关于找工作的文章,里面提到一个面试题目--flattening an array(扁平化数组).这我好像在哪看过!应该是freecodecamp里的算法某一题.翻了下博客记录 ...
- LeetCode算法题目解答汇总(转自四火的唠叨)
LeetCode算法题目解答汇总 本文转自<四火的唠叨> 只要不是特别忙或者特别不方便,最近一直保持着每天做几道算法题的规律,到后来随着难度的增加,每天做的题目越来越少.我的初衷就是练习, ...
- Top Coder算法题目浏览器
作者:Lucida 微博:@peng_gong 豆瓣:@figure9 原文链接:http://zh.lucida.me/blog/top-code-offline-browser/ 关于 左耳朵耗子 ...
- 一道算法题目, 二行代码, Binary Tree
June 8, 2015 我最喜欢的一道算法题目, 二行代码. 编程序需要很强的逻辑思维, 多问几个为什么, 可不可以简化.想一想, 二行代码, 五分钟就可以搞定; 2015年网上大家热议的 Home ...
- Search and Replace的正则表达式
以下例子均在Search and Replace中适用,EditPlus也有正则表达式,但有点不一样. 1.1 基本操作符 * 重复0次或更多次 + 重复一次或更多次 ? 重复一次 | 或 操作符 ! ...
- iOS面试中常见的算法题目
一.前言 这里是在iOS求职中自己遇到的算法题,希望对大家有所帮助.不定期更新.如果大家想在线运行代码调试,可以将代码拷贝到这里.然后进行调试.下面就是常见的算法题目. 二.正文 1.就n的阶乘.(这 ...
- 【起】ACM类下为过往所做过的部分算法题目
[起]ACM类下为过往所做过的部分算法题目 几百道题,日后细细品味.
随机推荐
- JSP 不同版本(转)
转自 http://blog.csdn.net/sunnyyoona/article/details/51076823
- 图片旋转js代码
function rotateImage(imgId) { imageToRotate = document.getElementById(imgId); imageToRotate.style.fi ...
- Codecraft-17 and Codeforces Round #391 (Div. 1 + Div. 2, combined) A
Bash wants to become a Pokemon master one day. Although he liked a lot of Pokemon, he has always bee ...
- tomcat jndi 数据源
web.xml <!-- ================================================================================ --& ...
- 什么是.NET for Apache Spark?
什么是.NET for Apache Spark? 分享一个.NET平台开源免费跨平台的大数据分析框架.NET for Apache Spark for Apache Spark 今天早上六点半左 ...
- Codeforces Round #376 (Div. 2) F. Video Cards 数学 & 暴力
http://codeforces.com/contest/731/problem/F 注意到一个事实,如果你要找一段区间中(从小到大的),有多少个数是能整除左端点L的,就是[L, R]这样.那么,很 ...
- golang学习资料
http://yougg.github.io/static/gonote/GolangStudy.html
- JS中void(0)的含义
看别人些的JavaScript脚本可以看到这样的代码: <a href="javascript:doTest2();void(0);">here</a> 但 ...
- 通用的ashx调用
直接上代码 还是有一定通用性的 <%@ WebHandler Language="C#" Class="MyService" %> using Sy ...
- DOM操作(二)对元素的操作(创建,追加,删除)
1 创建新的 HTML 元素 (节点) var divDom=document.createElement('div'); 2 添加新元素到尾部 element.appendChild(para); ...