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,默认从最后位置开始向前找