• javascript字符串截取的substring、substr和slice


    本文详细的介绍了javascript中substring()、substr()和slice()三个JS字符串截取的方法,substring()方法用于提取字符串中介于两个指定下标之间的字符.substr 方法用于返回一个从指定位置开始的指定长度的子字符串。

    substring

    方法用于提取字符串中介于两个指定下标之间的字符

    substring(start,end)
    参数 描述
    start 必需。一个非负的整数,规定要提取的子串的第一个字符在 stringObject 中的位置。
    stop 可选。一个非负的整数,比要提取的子串的最后一个字符在 stringObject 中的位置多 1。

    如果省略该参数,那么返回的子串会一直到字符串的结尾。

    返回值

    一个新的字符串,该字符串值包含 stringObject 的一个子字符串,其内容是从 start 处到 stop-1 处的所有字符,其长度为 stop 减 start。

    说明

    substring 方法返回的子串包括 start 处的字符,但不包括 end 处的字符。
    如果 start 与 end 相等,那么该方法返回的就是一个空串(即长度为 0 的字符串)。
    如果 start 比 end 大,那么该方法在提取子串之前会先交换这两个参数。
    如果 start 或 end 为负数,那么它将被替换为 0。

    2.substr 方法

    定义和用法

    substr 方法用于返回一个从指定位置开始的指定长度的子字符串。

    语法

    stringObject.substr(start [, length ])
    参数 描述
    start 必需。所需的子字符串的起始位置。字符串中的第一个字符的索引为 0。
    length 可选。在返回的子字符串中应包括的字符个数。

    说明

    如果start为负数,则start=str.length+start。
    如果 length 为 0 或负数,将返回一个空字符串。
    如果没有指定该参数,则子字符串将延续到stringObject的最后。

    首先,他们都接收两个参数,slice和substring接收的是起始位置和结束位置(不包括结束位置),而substr接收的则是起始位置和所要返回的字符串长度。直接看下面例子:

    var test = 'hello world';
    alert(test.slice(4,7));             //o w
    alert(test.substring(4,7));         //o w
    alert(test.substr(4,7));            //o world

    这里有个需要注意的地方就是:substring是以两个参数中较小一个作为起始位置,较大的参数作为结束位置。

    alert(test.substring(7,4));          //o w

    接着,当接收的参数是负数时,slice会将它字符串的长度与对应的负数相加,结果作为参数;substr则仅仅是将第一个参数与字符串长度相加后的结果作为第一个参数;substring则干脆将负参数都直接转换为0。测试代码如下

    var test = 'hello world';
    
    alert(test.slice(-3));         //rld
    alert(test.substring(-3));     //hello world
    alert(test.substr(-3));        //rld
    alert(test.slice(3,-4));       //lo w
    alert(test.substring(3,-4));   //hel
    alert(test.substr(3,-4));      //空字符串

    1 注意:IE对substr接收负值的处理有错,它会返回原始字符串。

  • 相关阅读:
    sublime配置文件设置解释器
    pyinstaller 简单用法
    python模块引入问题集锦与解析
    服务器上Ubuntu系统安装
    window下共存python2和python3
    python-docx about unusual operating
    docker
    网站开发(周日):项目部署上线(实战)
    网站开发(周六):项目本地调试(实战)
    网站开发(周五):项目前端页面开发(实战)
  • 原文地址:https://www.cnblogs.com/doseoer/p/5743870.html
Copyright © 2020-2023  润新知