javascript中substring()、substr()、slice()的区别
作者:hebedich 发布时间:2024-04-16 09:54:35
stringObject.substring(start,stop) 用于提取字符串中介于两个指定下标之间的字符。
start必需。一个非负的整数,规定要提取的子串的第一个字符在 stringObject 中的位置。
stop可选。一个非负的整数,比要提取的子串的最后一个字符在 stringObject 中的位置多 1。如果省略该参数,那么返回的子串会一直到字符串的结尾。
start从0开始 到stop(不包含stop)结束 不接受负的参数。
stringObject.substr(start,length)可在字符串中抽取从start下标开始的指定数目的字符
start 必需。要抽取的子串的起始下标。必须是数值。如果是负数,那么该参数声明从字符串的尾部开始算起的位置。也就是说,-1 指字符串中最后一个字符,-2 指倒数第二个字符,以此类推。
length 可选。子串中的字符数。必须是数值。如果省略了该参数,那么返回从 stringObject 的开始位置到结尾的字串。
stringObject.slice(start,end)提取字符串的某个部分,并以新的字符串返回被提取的部分
start 要抽取的片断的起始下标。如果是负数,则该参数规定的是从字符串的尾部开始算起的位置。也就是说,-1 指字符串的最后一个字符,-2 指倒数第二个字符,以此类推。
end 紧接着要抽取的片段的结尾的下标。若未指定此参数,则要提取的子串包括 start 到原字符串结尾的字符串。如果该参数是负数,那么它规定的是从字符串的尾部开始算起的位置。
返回新的字符串包括字符串 stringObject 从 start 开始(包括 start)到 end 结束(不包括 end)为止的所有字符
string.slice()
string.substring()
string.substr()
var stringValue = “hello world”;
alert(stringValue.slice(3)); //”lo world”
alert(stringValue.substring(3)); //”lo world”
alert(stringValue.substr(3)); //”lo world”
alert(stringValue.slice(3,7)); //”lo w”
alert(stringValue.substring(3,7)); //”lo w”
alert(stringValue.substr(3,7)); //”lo worl”
三者如果只有一个参数n 则会从第n个位置开始返回剩余字符串(从0开始计算位置)
如果有两个参数n,m,slice与substring会从第n个位置开始返回到第m个位置(不包括第m位置)的字符串,而substr会返回从第n个位置开始的m个字符。
———————————————————————————————
string.slice()
string.substring()
string.substr()
var stringValue = “hello world”;
alert(stringValue.slice(-3)); //”rld”
alert(stringValue.substring(-3)); //”hello world”
alert(stringValue.substr(-3)); //”rld”
alert(stringValue.slice(3,-4)); //”lo w”
alert(stringValue.substring(3,-4)); //”hel”
alert(stringValue.substr(3,-4)); //”"(空字符串)
当参数是负值情况下,slice将传入负值与字符串长度(string.length)相加,substr会将负的第一个参数加上字符串长度,第二个转换为0,substring会将所有负值都转换成0。
IE的JavaScript实现在处理向substr()方法传递负值的情况时存在问题,它会返回原始的字符串。
猜你喜欢
- 发送电子邮件在即时通信软件如此发达的今天,电子邮件仍然是互联网上使用最为广泛的应用之一,公司向应聘者发出录用通知、网站向用户发送一个激活账号
- 所用拓展模块 xlrd: Python语言中,读取Excel的扩展工
- 1. 小整数对象池整数在程序中的使用非常广泛,Python为了优化速度,使用了小整数对象池, 避免为整数频繁申请和销毁内存空间。Python
- 要使用request对象的ServerVariables属性,通过它来获得环境变量的值。使用的语法为:Request.ServerVaria
- 模块介绍:from ftplib import FTP ftp = FTP() #设置变量 ftp.set_debuglevel(2) #打
- 简介模板方法模式,是行为型的设计模式。定义一个操作中的算法的骨架,而将一些步骤延迟到子类当中,使得子类可以不改变一个算法的结构即可重新定义该
- 前言最近因为工作的需要,需要写个短链服务,用到了10->62进制,网上找了一个,可以转换最多76位进制的博客,现在分享出来,下面话不多
- 本文实例为大家分享了python实现五子棋双人对弈的具体代码,供大家参考,具体内容如下我用的是pygame模块来制作窗口代码如下:# 1、引
- 本文实例讲述了python使用 cx_Oracle 模块进行查询操作。分享给大家供大家参考,具体如下:# !/usr/bin/env pyt
- 对于Mac上Homebrew安装的MySQL,默认情况下只能使用本地登录。而使用其它主机远程登录Mac上的MySQL则会被拒绝访问。下面修改
- 网上有许关于固定表格的标题行的文章,但是既要固定标题行又要固定标题列的却几乎没有。现我写下如下代码以供大家参考:<html> &
- python3 判断空列表@(python3)有个判断列表是否为空的需求,试了好多方式,比如:a = []if a is not None:
- jxdawei的blog:http://www.iwcn.net/本文讨论的是在web标准普及的形势下,网站程序员的定位以及如何与设计师配合
- 在SQL Server中,我们所常见的表与表之间的Inner Join,Outer Join都会被执行引擎根据所选的列,数据上是否有索引,所
- 本文为大家分享了Mysql WorkBench安装配置图文教程,供大家参考,具体内容如下workbench下载地址下载到workbench下
- 本文实例讲述了python使用sorted函数对列表进行排序的方法。分享给大家供大家参考。具体如下:python提供了sorted函数用于对
- 一、判断数据库表是否存在: 首先要拿到数据库连接conn,调用DatabaseMetaData dbmd = conn.getDataMet
- python3.6下载地址: https://www.python.org/ftp/python/3.6.4/Python-3.6.4.tg
- 前言VScode是一个相当优秀的IDE,具备开源、跨平台、模块化、插件丰富、启动时间快、颜值高、可高度定制等等优秀的特质,不愧是微软爸爸的私
- 前言:上一篇文章详细介绍windows下MySQL安装教程,这篇就从最基本的安装MySQL-Linux环境开始,感兴趣的小伙伴可以关注我,系