我试图解决一个算法" Seach and Replace"其中说明:
使用参数执行搜索并替换句子 提供并返回新句子。
第一个参数是执行搜索和替换的句子。
第二个参数是你要替换的词(之前)。
第三个参数是你将用第二个参数替换第二个参数 (后)。
注意:更换时保留原始单词的大小写 它。例如,如果您的意思是替换“#34; Book"用这个词 " dog",它应该替换为" Dog"
所以我试图在原始单词大写的情况下通过测试,因此替换单词也会变大。但我的if语句中的变量是未定义的。请解释一下!我的代码如下:
function myReplace(str, before, after) {
var newString = str.replace(before, after);
if (before[0]===before[0].toUpperCase) {
var capWord = after[0].toUpperCase+after(1);
console.log(capWord);
newString = str.replace(before, capWord);
return newString;
}
return newString;
}
myReplace("He is Sleeping on the couch", "Sleeping", "sitting");
Capword未定义,为什么?我该如何绕过这个问题?谢谢!
答案 0 :(得分:1)
function myReplace(str, before, after) {
var newString = str.replace(before, after);
if (before[0]===before[0].toUpperCase()) {
var capWord = after[0].toUpperCase()+after.substring(1);
newString = str.replace(before, capWord);
return newString;
}
return newString;
}
console.log(myReplace("He is Sleeping on the couch", "Sleeping", "sitting"));