首页 > 代码库 > Javascript读书笔记:字符串常用方法
Javascript读书笔记:字符串常用方法
concat()
连接多个字符串,返回合并后的字符串。
1 var s1="a";2 var s2="b";3 var s3="c";4 5 console.log(s1.concat(s2,s3));//abc
数组中的concat():将参数添加为数组的元素,返回新的数组。
1 var arr = [1, 2, 3];2 console.log(arr.concat(4, 5));//[1,2,3,4,5]
indexOf()
查找子串第一次出现的索引。
1 var s="abcd";2 console.log(s.indexOf("b"));//1
若没有匹配项,返回 -1。
1 var s="abcd";2 console.log(s.indexOf("e"));//-1
可以传入第二个参数:fromIndex,表示从索引位置fromIndex开始查找,默认从起始索引0开始查找;若fromIndex为负,则从索引0开始查找。
1 var s = "aba";2 console.log(s.indexOf("a", 0));//03 console.log(s.indexOf("a", 1));//24 console.log(s.indexOf("a", -1));//0
该方法对大小写敏感。
1 var s="Aba";2 console.log(s.indexOf("a"));//2
lastIndexOf()
类似 indexOf() ,但从右往左查找。
1 var s = "aba";2 console.log(s.lastIndexOf("a"));//2
也可指定起始索引,默认从最大索引开始查找。
1 var s = "aba";2 console.log(s.lastIndexOf("a",1));//0
charAt()
返回指定索引位置的字符(因为Javascript中没有字符类型,所以返回的是长度为1的字符串)。
1 var s="abc";2 console.log(s.charAt(1));//b
若索引越界,返回空字符串。
1 var s="abc";2 console.log(s.charAt(-1));//""
substr()
substr(fromIndex,length):从起始索引fromIndex开始截取长度length的字符串。
1 var s="abc";2 console.log(s.substr(1,1));//b
若length < 1,返回空字符串。
1 var s="abc";2 console.log(s.substr(1,-1));//""
若不指定length或者length超过可截取的最大长度,则截取到结尾。
1 var s="abc";2 console.log(s.substr(1));//bc3 console.log(s.substr(1,10));//bc
若起始索引为负,则从右往左开始截取(从右往左的索引从-1开始)。
1 var s="abc";2 console.log(s.substr(-1,1));//c
substring()
substring(startIndex,endIndex):截取起始索引startIndex到结束索引endIndex的子字符串,结果包含startIndex处的字符,不包含endIndex处的字符。
1 var s="abc";2 console.log(s.substring(1,2));//b
若startIndex或者endIndex为负,则会被替换为0。
1 var s="abc";2 console.log(s.substring(-1,2));//ab
若startIndex和endIndex相等,则返回空字符串。
若startIndex > endIndex,则执行方法时,两个值会被交换。
1 var s="abc";2 console.log(s.substring(2,1));//b
若不指定endIndex或endIndex超出最大索引,则截取到结尾。
1 var s="abc";2 console.log(s.substring(1));//bc3 console.log(s.substring(1,10));//bc
slice()
slice(startIndex,endIndex):截取起始索引startIndex到结束索引endIndex的子字符串,结果包含startIndex处的字符,不包含endIndex处的字符。
1 var s="abc";2 console.log(s.slice(1,2));//b
若startIndex或者endIndex为负,表示该索引是从右往左计算的索引(跟substring不同)。
1 var s="abc";2 console.log(s.slice(1,2));//b3 //等价于4 console.log(s.slice(1,-1));//b5 //等价于6 console.log(s.slice(-2,-1));//b7 //等价于8 console.log(s.slice(-2,2));//b
若startIndex所表示的索引位置等于endIndex所表示的索引位置,或者startIndex所表示的索引位置在endIndex所表示的索引位置之后,则返回空字符串(跟substring不同)。
1 var s="abc";2 console.log(s.slice(1,1));//""3 console.log(s.slice(-1,-2));//""
split()
按给定字符串分割,返回分割后的多个字符串组成的字符串数组。
1 var s="a,bc,d";2 console.log(s.split(","));//["a", "bc", "d"] 3 4 s="a1b1c1d1";5 console.log(s.split("1"));//["a", "b", "c", "d", ""]