字符串详解
1.字符串的属性--length
2.字符串方法
获取类
charAt() 指定字符
str.charAt(1);表示取第2个字符。
charCodeAt() 指定字符的编码(就是ASCII码)。文字-->编码
var str='abc';
str.charCodeAt(0); //97
var str='Abc';
str.charCodeAt(0); //65
fromCharCode() 编码转换成字符。编码-->文字
//可以知道,charCodeAt,fromCharCode这两个方法是相反的效果
var str='我是一个字符串';
console.info(str.charCodeAt(0));//25105
console.info(String.fromCharCode(25105));//我
查找类
indexOf(), 找字符第一次出现的位置。如果没找到,就返回-1
lastIndexOf(), 找字符最后一次出现的位置。如果没找到,就返回-1
search(), 和indexOf()用法都是一样的,但还是有区别的。
search()和indexOf()的区别
用正则的时候用search(),不用正则的时候最好用indexOf()
var str='abcdasd';
console.info(str.indexOf('a'));//字符a第一次出现的位置
console.info(str.lastIndexOf('a'));//字符a最后一次出现的位置
match() 匹配
replace() 替换
var str='abcdasd';
console.info(str.replace('a','A'));//Abcdasd
比较类
localeCompare() 按照当地的习惯比较字符串。(应用在排序中)
什么叫按照当地的习惯?
比如,如果比较的是中文,那么就按照拼音的顺序比较
var str1='啊';
var str2='我';
console.info(str1.localeCompare(str2));//返回值是-1,表示前面的str1的顺序比后面str2小
截取类(切)
slice(开始位置,结束位置),但是不包括结束位置的字符
var str='abcdasd';
console.info(str.slice(1, 3));//1-b,2-c,3-d,实际出来的结果是bc,不包括结束位置。
如果slice不给结束位置,一直取到字符串结束为止。
var str='abcdasd';
console.info(str.slice(1, 3));//1-b,2-c,3-d,实际出来的结果是bc,不包括结束位置。
console.info(str.slice(2));//如果不给结束位置,则一直取到字符串结束为止。
substring(),和slice()方法用法几乎一样。
但也有区别:
var str='abcdasf';
console.info(str.slice(-1));//负数会变成倒数第几个。
console.info(str.slice(-2));//负数会变成倒数第几个。
console.info(str.substring(-110));//负数直接变成0
console.info(str.substring(0));//负数直接变成0,-110和0的效果是一样的,都是截取全部字符串。
substr(),包括结束位置。同时也会把负数变成0
var str='abcdasf';
console.info(str.substring(1,3));//不包括结束位置的字符
console.info(str.substr(1,3));//包括结束位置的字符
split() 根据分隔符、拆分成数组
var str='大师|大神|大学';
console.info(str.split('|'));