字符串API

string可以看成是多个字符组成的只读数组,也可以通过下标去访问某个字符

访问i位置的字符 :  str[i]

字符个数:  str.length

倒数第n个字符 : str[str.length-n]

 

凡是数组中不直接修改原数组的API,字符串都能用    所有字符串API都无权修改原字符串,只返回新字符串

 

 截取字符串

str.slice(starti,endi+1)        从starti位置开始,到endi位置        如果endi为负数,则倒着数到第endi个下标开始,一直截取到starti位    含头不含尾

str.substring(starti,endi+1)     从starti位置开始,到endi位置  含头不含尾   不支持负数参

str.substr(starti,n)           从starti开始截n个,不考虑含头不含尾

var str = 'hello world'

var newStr = str.slice(2,4)   //从下标 2 开始,截取到下标 4 的位置,  含头不含尾

console.log(newStr)    // 输出 ll

var str = 'hello world'

var newStr = str.slice(2,-4) //从倒数下标 4 开始,截取到下标 2 的位置, 含尾不含头

console.log(newStr) // 输出 llo w

var str = 'hello world'

str = str.substr(6,2)

console.log(str) // 输出wo

 

 

 

 

分隔字符串: 

var subs=str.split("分隔符");    //将str,按指定的分隔符,切割为多段子字符串,返回一个数组

var str = 'hello'

var arr = str.split('')

console.log(arr)   // 输出["h", "e", "l", "l", "o"]

var twoArr = str.split('e')

console.log(twoArr)   // 输出 ["h", "llo"]

 

 

大小写转换:    只对字母有效

str=str.toLowerCase(); //全转小写

str=str.toUpperCase(); //全转大写

var str = 'ABCD'

str = str.toLocaleLowerCase();
 
console.log(str)    // 输出abcd

var twoStr = '包含a字母'

twoStr = twoStr.toLocaleUpperCase();

console.log(twoStr)   // 输出  包含A字母

 

 

获得字符的unicode号:

var unicode=str.charCodeAt(i)          //获得指定位置的字符的unicode号   i为指定字符的下标

var char=String.fromCharCode(unicode)    // 将unicode反向转回字符

var str = '你好世界'

var unicode=str.charCodeAt(0);//返回下标0 的字符的unicode号

console.log(unicode)    //  输出20320

 

 

检索关键词: 在字符串中找到指定关键词的位置:    如果找不到,都返回-1

var i=str.indexOf("关键词",fromi)    fromi表示某个下标开始向下一个查找,可以省略    如果省略fromi默认从0位置开始找

var i=str.lastIndexOf("关键词",fromi)    表示从某个下标开始向前一个查找,如果省略fromi,默认从最后位置开始向前找

 

posted @ 2017-07-19 16:27  嘉爷  阅读(266)  评论(0编辑  收藏  举报