js和es6中的字符串方法总结

1.substring(start,end) -> 截取字符串

用法:

1.substring(start,end) -> 用数学表达式表达区间的话就是截取[start,end);
2.substring(start,end),end > start -> 和上面结果一样,会自动进行掉换,但是start和end必须要都为正数。如果start和end都为空返回原字符串(没意义)
3.substring(start) -> 没有end相当于[start,最后一个字符]

let str = 'Hello world';
let use1 = str.substring(0, 3);
console.log(use1); // Hel
let use2 = str.substring(3,0);
console.log(use2); // hel
let use3 = str.substring(2);
console.log(use3); // llo world

2.slice(start,end) -> 截取字符串

用法:

slice的用法和substring的用法基本一样,只是区别在于:
1.slice(start,end) -> start是不能大于end的,否则返回空字符串;
2.slice可以接受参数是负数,如果是负数的话,规则将按照:字符串的长度和赋值相加,替换掉这个值。举例如下:

let str = 'abcdefg' // length = 7
str.slice(1,-4) // bc  -> str.slice(1,7-4) -> str.slice(1,3)

3.substr(start,length) -> 截取指定位置和指定长度的字符串

用法:

1.substr(start,length) -> 截取的字符串区间为:[start,start+length)->从start开始,算上start数length个字符串;
2.substr(start) -> 截取的字符串区间为:[start,最后一个字符]

  let str = 'Hello world';
  console.log(str.substr(1,2)) // el
  console.log(str.substr(3)) // lo world

4.split()

5.indexOf(char,index) 和 lastIndexOf(char,index)

1.char:是你要找的那个字符,index:是从哪个字符的位置序号开始找(没有则在indexOf中是最左边的字符,在lastIndexOf中是最右边的字符);

2.indexOf是从左往右搜索,而lastIndexOf是从右往左搜索;

3.它们的返回值都是搜到char所在的位置序号,如果没搜到,返回-1;

4.如果index为负数,那么在indexOf和lastIndexOf方法中,-1代表的是最后一个字符

  let str = 'good';
  console.log(str.indexOf('o')); // 1
  console.log(str.lastIndexOf('o')); // 2

6.charAt(index) 和 charCodeAt(index) 和at(index) (es6属性)

charAt(index)返回index位置的字符,charCodeAt(index)返回index位置的字符Unicode码

charAt(index)不能识别大于0xFFFF的字符,这时候可以用at()来识别

  var str = 'abc'
  str.charAt(0) // a
  str.charCodeAt(0) // 97

未完待续…

    原文作者:andy00614
    原文地址: https://segmentfault.com/a/1190000015783339
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞