Search and Replace 查找需要替换的字符串且用来替换的字符串需保留原字符串的格式

  • 使用给定的参数对句子执行一次查找和替换,然后返回新句子。
  • 第一个参数是将要对其执行查找和替换的句子。
  • 第二个参数是将被替换掉的单词(替换前的单词)。
  • 第三个参数用于替换第二个参数(替换后的单词)。
  • 替换时保持原单词的大小写。例如,如果你想用单词 "dog" 替换单词 "Book" ,你应该替换成 "Dog"。
  • 参考的资源有 Array.splice() , String.replace() , Array.join()
  • 方法一:把字符串转换为数组,数组中查找需替换的字符串,然后用数组自带的方法splice()来进行替换,再转为字符串输出,这样好像比较麻烦
  • 代码如下
    function myReplace(str, before, after) {
      var arr = str.split(" ");
      var _index;
      var reg = /^[A-Z]/;
      for(var i = 0, len = arr.length; i < len; i++) {
    	if(arr[i] === before) {
    		 _index = i;
    		if(reg.test(before)){
    			after=after.replace(after.charAt(0), after.charAt(0).toUpperCase()); 
    			}
    		}
    	}
     arr.splice(_index, 1, after);
     str = arr.join(" ");
     console.log(str);
     return str;
    }
    
    myReplace("A quick brown fox jumped over the lazy dog", "jumped", "leaped");
    

  • 方法二:直接利用字符串自带的replace()方法进行替换,
    function myReplace(str, before, after) {
      var re = /^[A-Z]/;
      if(re.test(before)){
        after = after.charAt(0).toUpperCase() + after.slice(1);
      }
      str = str.replace(before,after);
      return str;
    }
    myReplace("A quick brown fox jumped over the lazy dog", "jumped", "leaped");

你可能感兴趣的:(JavaScript)