String的操作在平时开发中经常操作现在对字符串中的方法进行一些归纳:
1、访问字符串中指定位置的字符:charAt() charCodeAt()都接受一个参数
charAt():返回的是指定位置的字符
charCodeAt():返回指定位置字符的编码
var string = "ni hao";
alert(string.charAt(1)); //i
alert(string.charCodeAt(1)); //105
2、字符串操作的方法
concat():该方法是用于将一个或者多个字符串进行拼接;返回拼接得到的新字符串。
slice()、substr()、substring() 三个方式都是返回子字符串。对原始字符串没有影响。
slice():
传入一个参数时
若参数是大于零的,从左侧参数位置开始截取,直到字符串结束;
如参数是小于零的,则把参数与字符串的长度进行相加,得到一个大于零的参数,从大于零的参数位置开始截取,直到字符串结束;
传入两个参数: slice(a,b)
起始位置为a;结束位置为b-1;
若a>b则返回空字符串;
只要传入的参数有负数都进行与字符串的长度进行相加,然后进行判断计算,若前面的数值大于后面的数值则返回空字符串。
var string = 'ni hao';
alert(string.slice(2));//' hao'
alert(string.slice(-2));//'ao'
alert(string.slice(-8));//'ni hao'
alert(string.slice(2,5));//' ha'
alert(string.slice(-2,-4));//''
alert(string.slice(-3,4));// 'h'
alert(string.slice(-4,-2));//' h'
总结:
传入一个参数是
若是正数则从这个参数位置开始到字符串结束(字符串索引从0开始);
若是负数则与字符串的长度进行相加操作,得到一个正数,从得到的正数进行截取操作直到字符串结束。若负数的绝对值大于字符串的长度,则返回整个字符串。
传入两个字符串:
如其实位置大于结束位置,返回空字符串
若传入的有负数,则进行字符串长度的相加操作,在进行正数的参数进行操作。
substring():
传入一个参数
大于零:从该参数位置进行截取直到字符串结束
小于零:把该参数变成0 开始,即相当于获取整个字符串
传入两个参数:
若起始位置大于结束位置,进行两个参数位置的调换。
传入的参数有正有负时,正数保持不变,负数转化为0,进行转换后参数位置的调换,进行截取。若两个参数都是负数时 返回空字符串。
var string = 'ni hao';
alert(string.substring(2));// ' hao'
alert(string.substring(-2));// 'ni hao'
alert(string.substring(2,1));// 'i'
alert(string.substring(-1,2));//'ni'
alert(string.substring(-2,-4));//''
alert(string.substring(-2,-1));//''
sunstr()
传入一个参数时:
大于零:从该位置开始,直到字符串结束
小于零:与该字符串的长度进行相加,得出正数从该正数位置进行截取得到一子字符串
传入两个参数:
传入两个参数的第一个参数表示起始位置,第二个参数表示得到子字符串字符的个数。
若传入的第二个参数为负数,表示返回的子字符串的个数为负数,则返回空字符串。
var string = 'ni hao';
alert(string.substr(2));//' hao'
alert(string.substr(-2));//'ao'
alert(string.substr(2,-3));//''
alert(string.substr(-2,4));//'ao'
3、indexOf() lastIndexOf()
返回指定字符串的位置。若没有该字符串则返回-1;
var string = 'ni hao';
alert(string.indexOf('h')); //3
alert(string.indexOf('b'));//-1
4、trim() //删除前后字符串中的空格, 对原有字符串不进行改变。
5、大小写转换:
toLowCase();
toLocalLowerCase()
toUpCase()
toLocalUpCase()
6、正则表达式