字符串详解

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('|'));

原文地址:https://www.cnblogs.com/GumpYan/p/5700161.html