昨天总结了数组的方法,今天安利一下字符串常用的方法,一般数组方法和字符串方法都是结合使用的,先将基础方法总结一下,利于使用。之后会给大家安利一下关于这方面的面试题。
字符串的方法
split()方法
使用指定的分隔符字符串将一个String对象分割成字符串数组,以将字符串分隔为子字符串,以确定每个拆分的位置
参数:
charAt()方法
从一个字符串中返回指定的字符 语法:str.charAt(index) index是索引值
1 | var str = 'Just a joke!'; |
从上面的实例来看,charAt()只有一个参数,写上第二个参数,不会报错也没有任何效果
可以使用for循环遍历字符串,获取所有的字符1
2
3for (var i = 0; i < str.length; i++) {
var result = str.charAt(i);
console.log(result)
charCodeAt()方法
返回0到65535之间的整数,表示字符的Unicode编码值
参数仍是字符的索引值
例:1
2var str = 'abc';
console.log(str.charCodeAt(0));//97
此例返回结果是97,表示小写字母a的Unicode编码值是97
concat()方法
将一个或多个字符串与原字符串连接合并,形成一个新的字符串并返回concat方法并不影响原字符串1
2
3
4var str1 = 'Hello';
var str2 = 'World!';
var str = str1.concat(' ' + str2);
console.log(str); //Hello World!
indexOf()方法
返回调用String对象中第一次出现的指定值的索引,在设定位置开始查找,未找到则返回-1
参数:
- 第一个参数是:被查找的值
- 表示字符串中开始查找的位置。默认为0。如果值小于0,则查找整个字符串;如果大于字符串的长度,则返回-1,除非被查找的字符串是一个空字符串,那么此时返回的是字符串的长度
例:1
2
3
4
5
6
7
8
9
10var str = 'Hello World!';
var str1 = str.indexOf('Hello'); //0
var str2 = str.indexOf('World'); //6
var str3 = str.indexOf('World',0);//6
var str4 = str.indexOf('World',5);//6
var str5 = str.indexOf('',10); //10
var str6 = str.indexOf('',11); //11
var str7 = str.indexOf('hi'); //-1
console.log(str1+' '+str2+' '
+str3+' '+str4+' '+str5+' '+str6+' '+str7);
注:此方法区分大小写
例:1
console.log('Hello World!'.indexOf('hello')); // 返回值为-1
- 可以使用indexOf统计一个字符串中的某个字母出现的次数。例如以下示例:
1 | var str = 'The One Who Wants to Wear a Crown Must Bear the Weight'; //欲戴王冠,必承其重 |
substr()方法
substr()方法返回一个字符串中从指定位置开始到指定字符数的字符
参数:
str.substr(start[,length])
1.start 是提取字符开始的位置(索引值)。如果是负值,则被看做strLength + start,例如strLength的值为-2.那么就是strLength-2,其中strLength是字符串的长度
2.第二个参数length,是提取的字符数,即截取字符的个数
1 | var str = "I am a Girl."; |
substring()方法
str.substring()方法返回一个字符串在开始索引发哦结束索引之间的一个子集,或从开始索引直到字符串的末尾的一个子集
参数:
str.substring(indexStart[,indexEnd])
1.indexStart 是开始截取的索引值
2.indexEnd是结束截取位置的索引值,不包括结束位置的字符1
2
3var str = "I am a Girl.";
var newStr = str.substring(2,10);
console.log(newStr); //am a Gir
strsub()和strstring()两个方法都是截取字符串的方法,两者的区别在于第二个参数的意思。strsub()方法的第二个参数表示截取字符的个数,而substring()方法的第二个参数表示的是结束位置的索引值
replace()方法
replace()方法返回一个由替换值替换一些或所有匹配的模式后的新字符串。模式可以是一个字符串或者一个正则表达式,替换值可以是一个字符串或者一个每次匹配都要调用的函数
注:不改变原字符串
参数:
str.replace(str|RegExp,newStr|function)
1.第一个参数可以是字符串str,也可以是RegExp正则表达式
2.第二个参数可以是一个新的字符串newStr,也可以是一个返回新字符串的函数function
1 | var str = "AABBAABB"; |
trim()方法
去除字符串两端的空白字符
注:不改变原字符串1
2
3var str = ' THE END ';
var newstr = str.trim();
console.log('['+str+']','['+newstr+']'); // [ THE END ] [THE END]