字符串操作方法
预计阅读时间: 4 分钟
1、charAt(number)
代码示例
1var str1 = "abc";
2let res1 = str1.charAt(0);
3console.log(res1); // a
4let res11 = str1.charAt(4);
5console.log(res11); // ''
注:返回指定位置的字符(不存在则返回为空)
2、charCodeAt(number)
代码示例
1let res2 = str1.charCodeAt(0);
2console.log(res2); // 97
3let res22 = str1.charCodeAt(3);
4console.log(res22); // NaN
注:返回指定位置上的字符的 Unicode 编码,不存在则返回 NaN
3、concat():字符串拼接
代码示例
1var str3 = "zhang",
2 str31 = "xiaokang";
3let res3 = str3.concat(str31);
4console.log(res3); // zhangxiaokang
4、indexOf():检索字符串(区分大小写)
代码示例
1var str4 = "Hi XK";
2console.log(str4.indexOf("Hi")); // 0
3console.log(str4.indexOf("X")); // 3
4// 返回值为-1,表示没有与当前字符匹配的字符串
5console.log(str4.indexOf("xk")); // -1
5、match():字符串过滤
代码示例
1var str5 = "1 abc 2 def 3";
2console.log(str5.match(/\d+/g)); // ["1", "2", "3"]
6、replace()
代码示例
1var str6 = "abc Dnf!";
2console.log(str6.replace(/abc/, "ZXK")); // ZXK Dnf!
注:在字符串中用一些字符替换另一些字符,或者替换一个与正则表达式匹配的字符串。
7、search()
代码示例
1console.log(str6.search(/dnf/i)); // 4
注:检索字符串中指定的子字符串,或检索与正则表达式相匹配的子串,若要 忽略大小写 ,则需添加 i,若无匹配字符串,返回 -1。
8、slice(start,end)
代码示例
1var str = "abc def ghk";
2console.log(str.slice(6)); //f ghk
注意事项:
- 提取字符串的片断,并在新的字符串中返回被提取的部分。
- start:要抽取的片断的起始下标。如果是 负数,则该参数规定的是从字符串的 尾部 开始算起的位置。也就是说,-1 指字符串的最后一个字符,-2 指倒数第二个字符,以此类推。
- end: 紧接着要抽取的片段的结尾的下标。若未指定此参数,则要提取的子串包括 start 到原字符串结尾的字符串。如果该参数是负数,那么它规定的是从字符串的尾部开始算起的位置。
9、split():把字符串分割为字符串数组
代码示例
1let str9 = "ab cd ef";
2console.log(str9.split(" ")); // ["ab", "cd", "ef"]
3console.log(str9.split(" ", 2)); // ["ab", "cd"]
10、toLocaleLowerCase():把字符串转换为小写
代码示例
1var str = "ABC def!";
2console.log(str.toLocaleLowerCase()); //abc def!
11、toLocaleUpperCase():把字符串转换为大写
代码示例
1var str = "ABC def!";
2console.log(str.toLocaleUpperCase()); //ABC DEF!
12、toLowerCase():把字符串转换为小写
代码示例
1var str = "ABC def!";
2console.log(str.toLowerCase()); //abc def!
13、toUpperCase():把字符串转换为大写
代码示例
1var str = "ABC def!";
2console.log(str.toUpperCase()); //ABC DEF!
14、str.substr(start, length)
代码示例
1var str = "abc def";
2console.log(str.substr(2)); //c def
3console.log(str.substr(2, 4)); // c de
注意「👀」
- 从起始索引提取字符串中指定书目的字符
- start:必需。要抽取的子串的起始下标。必须是数值。如果是负数,那么该参数声明从字符串的尾部开始算起的位置。也就是说,-1 指字符串中最后一个字符,-2 指倒数第二个字符,以此类推。
- length:可选。子串中的字符数。必须是数值。如果省略了该参数,那么返回从 stringObject 的开始位置到结尾的字串。
15、str.substring(start, stop)
代码示例
1var str = "abc def";
2console.log(str.substring(2)); //c def
3console.log(str.substring(2, 4)); // c
注意「👀」
-
注:提取字符串中两个指定的索引号之间的字符。
-
start:必需。一个非负的整数,规定要提取的子串的第一个字符在 str 中的位置。
-
stop:可选。一个非负的整数,比要提取的子串的最后一个字符在 str 中的位置多 1。如果省略该参数,那么返回的子串会一直到字符串的结尾。
-
substr(start,length) 与 substring(start,stop) 的区别:
-
相同点:如果只是写一个参数,两者的作用都一样:都是是截取字符串从当前下标以后直到字符串最后的字符串片段。
-
substr(startIndex);
-
substring(startIndex);
-
不同点:第二个参数
-
substr(startIndex,length): 第二个参数是截取字符串的长度(从起始点截取某个长度的字符串);
substring(startIndex, endIndex): 第二个参数是截取字符串最终的下标 (截取 2 个位置之间的字符串,'含头不含尾')。