作業題目如下:
----------------------------------------------------------------
字符串截取的方法有slice(start,end+1),substring(start,end+1),substr(start,n)。他們之間在用法方面也有一些相同或不同。
slice(start,end+1):兩個參數時,參數指截取位置,截取含頭不含尾;一個參數時,默認截取到字符串結尾。參數可以為負數,負數就倒着數位置。
substring(start,end+1):兩個參數時,參數指截取位置,截取含頭不含尾;一個參數時,默認截取到字符串結尾。參數不可以為負數。
substr(start,n):兩個參數時,第一個參數指截取起始位置,第二個參數指截取字符個數;一個參數時,默認截取到字符串結尾,第一個參數可為負數,第二個參數不可以為負數。
寫一個例子:
var str= "今天是星期二";
console.log(str.slice(3,6));//截取“星期二”並打印
console.log(str.substring(3,6));//截取“星期二”並打印
console.log(str.substr(3,3));//截取“星期二”並打印
但是如果只知道要在str中截取字符“星期二”,但是一下子又很難數出“星期二”到底在str的哪個位置的時候,還可以用indexOf()來獲取位置,如下:
var str= "今天是星期二";
var i=str.indexOf("星");//獲取字符關鍵字的位置,indexOf()方法第一個參數為要搜索的關鍵字,第二個參數為搜索的起始位置,如果省略第二個參數,默認起始位置為下標0。
console.log(str.slice(i,i+4));//截取“星期二”並打印
console.log(str.substr(i,4));//截取“星期二”並打印
當然,要求截取某個字符串某個起始位置某個長度的字符串,還可以封裝成一個函數。這樣就可以反復調用啦。
function sub(str,startIndex,len){
return str.substr(startIndex,len);
}
console.log(sub("abcd",1,2));