字符串操作方法

预计阅读时间: 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 个位置之间的字符串,'含头不含尾')。