字符串常用的方法

最近做项目用到了字符串截取,感觉一段时间没用,有点生疏,今天把方法给总结了一下,与大家一起分享。

1.charAt(index):通过索引找字符

例如:
var str = "abc";
var getIndex = str.charAt(0);
console.log(getIndex);//a

2.charCodeAt(index):通过索引找到字符的Unicode编码,返回值在0~65535之间

例如:
var str = "abc";
var getIndex = str.charCodeAt(0);
console.log(getIndex);//97

3.indexOf(被查找的字符):从前往后找,找到返回内容的索引,找不到返回-1

注:这个方法只会找到第一个匹配到字符的索引

例如:
var str = "abcabcdefgab";
var getIndex = str.indexOf("a");
console.log(getIndex);//0

4.lastIndexOf(被查找的字符):从后往前找,找到返回内容的索引,找不到返回-1

注:这个方法只会找到第一个匹配到字符的索引

例如:
var str = "abcabcdefgab";
var getIndex = str.lastIndexOf("a");
console.log(getIndex);//10

5.slice(n,m):截图索引n到索引m中间的字符,但不包括m,如果不写m,则从索引n截取字符串的最后一位,可以取负值

注:返回值为截取的新字符串,原字符串不变

例如:
设置n,m
var str = "abcdefgh";
var getValue = str.slice(0,4);
console.log(getValue);//abcd
设置n,不设置m
var getValue = str.slice(0);
console.log(getValue);//"abcdefgh"

6.substring(n,m):提取字符串中介于两个指定下标之间的字符,不包括m,n必需,如果不写m,则提取除了n之后的字符

注:返回值为截取的新字符串,原字符串不变

例如:
设置n,m
var str = "hello";
var getNewStr = str.substring(1,3);
console.log(getNewStr);//"el"
设置n,不设置m
var getNewStr = str.substring(1);
console.log(getNewStr);//"ello"

7.substr(n,m):字符串中抽取从n下标开始的指定数目的字符,包括m,n必需,如果不写m,则提取除了n之后的字符

例如:
设置n,m
var str = "hello";
var getNewStr = str.substr(1,3);
console.log(getNewStr);//"ell"
设置n,不设置m
var getNewStr = str.substr(1);
console.log(getNewStr);//"ello"

补充特殊情况:

当n为负数时,则从字符串尾部开始计算,-1表示字符串最后一个字符

例如:
var str = "hello";
var getNewStr = str.substr(-2,2);
console.log(getNewStr);//"lo"

8.split(切割形式):把一个字符串分割成字符串数组

例如:
var str = "a,b";
var newArr = str.split(",");
console.log(newArr);//["a","b"];


9.toUpperCase():转大写字母

注:这个方法不会改变原字符串,返回的是转换后的新字符串

例如:
var str = "a,b,c";
var newStr = str.toUpperCase();
console.log(newStr);//"A,B,C"

也顺便说一下最近在网上看到的面试题,给你一段英文单词的文本,将每个单词的首字母转成大写。
首先思路:
①.将字符串通过split分割成数组,循环数组。
②.声明两个空数组,将每个单词的第一个字符取出来通过toUpperCase转成大写存入第一个空数组,再将该单词剩余部分取出存入第二个空数组,最后将两个空数组拼接,重新赋值给原数组的那一项
③.使用数组的join()拼接回字符串

实际代码:

var str = "hello world";
var arr = str.split(" ");//["hello","world"]
for(let i = 0,newArr=[],sArr=[];i < arr.length;i++) {
var newStr = arr[i][0].toUpperCase();//取出数组每一项的第一个字符转成大写
newArr.push(newStr);//将大写字符存入第一个空数组
sArr.push(arr[i].slice(1));//将数组每一项的字符串通过slice截取
arr[i] = newArr[i] + sArr[i];//最后将两个空数组的每一项取出相加并赋值给原数组的第i项
}
console.log(arr);//["Hello","World"]
str = arr.join(" ");//将数组通过" "拼接成字符串
console.log(str);//"Hello World"


10.toLowerCase():转小写字母

注:这个方法不会改变原字符串,返回的是转换后的新字符串

例如:
var str = "A,B,C";
var newStr = str.toUpperCase();
console.log(newStr);//"a,b,c"

posted @ 2019-05-10 14:47  叹离别  阅读(229)  评论(0)    收藏  举报