【Web前端基础知识】String对象(下)

发布 : 优就业IT培训      来源:

2022-08-03 17:24:36

String.prototype.substring()

substring方法用于从原字符串取出子字符串并返回,不改变原字符串,跟slice方法很相像。它的第一个参数表示子字符串的开始位置,第二个位置表示结束位置(返回结果不含该位置)。

  1. 'JavaScript'.substring(0, 4) // "Java"

如果省略第二个参数,则表示子字符串一直到原字符串的结束。

  1. 'JavaScript'.substring(4) // "Script"

如果第一个参数大于第二个参数,substring方法会自动更换两个参数的位置。

  1. 'JavaScript'.substring(10, 4) // "Script"
  2. // 等同于
  3. 'JavaScript'.substring(4, 10) // "Script"

上面代码中,调换substring方法的两个参数,都得到同样的结果。

如果参数是负数,substring方法会自动将负数转为0。

  1. 'JavaScript'.substring(-3) // "JavaScript"
  2. 'JavaScript'.substring(4, -3) // "Java"

上面代码中,第二个例子的参数-3会自动变成0,等同于'JavaScript'.substring(4, 0)。由于第二个参数小于第一个参数,会自动互换位置,所以返回Java。

由于这些规则违反直觉,因此不建议使用substring方法,应该优先使用slice。

String.prototype.substr()

substr方法用于从原字符串取出子字符串并返回,不改变原字符串,跟slice和substring方法的作用相同。

substr方法的第一个参数是子字符串的开始位置(从0开始计算),第二个参数是子字符串的长度。

  1. 'JavaScript'.substr(4, 6) // "Script"

如果省略第二个参数,则表示子字符串一直到原字符串的结束。

  1. 'JavaScript'.substr(4) // "Script"

如果第一个参数是负数,表示倒数计算的字符位置。如果第二个参数是负数,将被自动转为0,因此会返回空字符串。

  1. 'JavaScript'.substr(-6) // "Script"
  2. 'JavaScript'.substr(4, -1) // ""

上面代码中,第二个例子的参数-1自动转为0,表示子字符串长度为0,所以返回空字符串。

String.prototype.indexOf(),String.prototype.lastIndexOf()

indexOf方法用于确定一个字符串在另一个字符串中第一次出现的位置,返回结果是匹配开始的位置。如果返回-1,就表示不匹配。

  1. 'hello world'.indexOf('o') // 4
  2. 'JavaScript'.indexOf('script') // -1

indexOf方法还可以接受第二个参数,表示从该位置开始向后匹配。

  1. 'hello world'.indexOf('o', 6) // 7

lastIndexOf方法的用法跟indexOf方法一致,主要的区别是lastIndexOf从尾部开始匹配,indexOf则是从头部开始匹配。

  1. 'hello world'.indexOf('o', 6) // 7

另外,lastIndexOf的第二个参数表示从该位置起向前匹配。

  1. 'hello world'.lastIndexOf('o', 6) // 4

String.prototype.trim()

trim方法用于去除字符串两端的空格,返回一个新字符串,不改变原字符串。

  1. ' hello world '.trim()
  2. // "hello world"

该方法去除的不仅是空格,还包括制表符(\t、\v)、换行符(\n)和回车符(\r)。

  1. '\r\nabc \t'.trim() // 'abc'

String.prototype.split()

split方法按照给定规则分割字符串,返回一个由分割出来的子字符串组成的数组。

  1. 'a|b|c'.split('|') // ["a", "b", "c"]

如果分割规则为空字符串,则返回数组的成员是原字符串的每一个字符。

  1. 'a|b|c'.split('') // ["a", "|", "b", "|", "c"]

如果省略参数,则返回数组的唯一成员就是原字符串。

  1. 'a|b|c'.split() // ["a|b|c"]

如果满足分割规则的两个部分紧邻着(即两个分割符中间没有其他字符),则返回数组之中会有一个空字符串。

  1. 'a||c'.split('|') // ['a', '', 'c']

如果满足分割规则的部分处于字符串的开头或结尾(即它的前面或后面没有其他字符),则返回数组的第一个或最后一个成员是一个空字符串。

  1. '|b|c'.split('|') // ["", "b", "c"]
  2. 'a|b|'.split('|') // ["a", "b", ""]

以上,我们对String对象创建方式和常用方法做了说明,希望能让你对String对象有清晰的了解。

THE END  

声明:本站稿件版权均属中公教育优就业所有,未经许可不得擅自转载。

领取零基础自学IT资源

涉及方向有Java、Web前端、UI设计、软件测试、python等科目,内容包含学习路线、视频、源码等

点击申请领取资料

点击查看资料详情 

收起 


 相关推荐

问题解答专区
返回顶部