首页 > 其他分享 >substr()与substring()的区别

substr()与substring()的区别

时间:2023-05-27 10:35:54浏览次数:42  
标签:函数 区别 截取 substring substr startIndex 字符串

在 JavaScript 编程语言中,substr() 和 substring() 都是字符串函数,用于截取指定位置的子字符串。虽然这两个函数都可以用于截取字符串,但它们之间存在一些区别。

substr(startIndex, length) 函数:该函数返回从起始索引开始的指定长度的子字符串。其中,startIndex 参数表示要截取的子字符串的起始索引位置,length 参数表示要截取的子字符串的长度。如果省略 length 参数,则 substr() 函数将返回从起始索引到字符串末尾的字符串。需要注意的是,在使用 substr() 函数时,如果 startIndex 是负数,则它将从字符串的末尾倒数计算。例如,substr(-3, 2) 表示从倒数第三个字符开始,截取长度为 2 的子字符串。

substring(startIndex, endIndex) 函数:该函数返回从起始索引到结束索引之间的子字符串,不包括结束索引位置的字符。其中,startIndex 参数表示要截取的子字符串的起始索引位置,endIndex 参数表示要截取的子字符串的结束索引位置。需要注意的是,substring() 函数中的 endIndex 参数是一个必需的参数,如果省略该参数,则函数将返回从 startIndex 开始到字符串末尾的字符串。与 substr() 不同的是,如果传入的 startIndex 大于 endIndex,则 substring() 函数会自动交换这两个参数的值。此外,如果 startIndex 或 endIndex 是负数,则这两个参数将被视为0。

 

总之,substr() 和 substring() 都是字符串函数,用于截取指定位置的子字符串。它们之间的主要区别在于参数的含义和使用方式。需要根据实际情况选择适当的函数来截取字符串。

标签:函数,区别,截取,substring,substr,startIndex,字符串
From: https://www.cnblogs.com/lvjuren/p/17432550.html

相关文章

  • docker中数据卷和数据卷容器有什么区别
    在Docker中,数据卷(datavolumes)和数据卷容器(datavolumecontainers)是用于在容器之间共享和持久化数据的两种不同的机制。数据卷是一个特殊的目录,可以绕过容器文件系统的常规层,直接在主机的文件系统上进行管理。数据卷可以在容器之间共享,并且可以持久存在,即使容器被删除,数据卷仍然......
  • 拦截器和过滤器区别
    转载:https://www.bilibili.com/video/BV1ro4y1F7Yg/?spm_id_from=333.1007.tianma.2-2-5.click&vd_source=46d50b5d646b50dcb2a208d3946b1598......
  • 647. Palindromic Substrings刷题笔记
    用动态规划可以做,应该可以优化为只有两个表,而且不用每次res都加classSolution:defcountSubstrings(self,s:str)->int:n=len(s)dp=[[0]*nfor_inrange(n)]res=0foriinrange(n-1,-1,-1):forji......
  • JavaScript中 == 和 === 的区别
    1.概念上JS中==是相同的意思,===代码严格相同 (1)操作数1==操作数2:也就是进行双等号比较时,先检查两个操作数的数据类型,如果相同,就进行===的比较,如果不同,则进行一次类型转换,转为相同类型后再进行比较比较过程:a)如果两个值类型相同,再进行三个等号的比较b)如果两个值类......
  • java中的BIO NIO AIO有什么区别?
    BIO、NIO和AIO都是Java中用于处理网络编程的技术,它们的主要区别如下:BIO:BIO(BlockingIO)阻塞式IO,指I/O的读写操作是阻塞的。当读写操作发生时,线程被阻塞,一直等到I/O完成才返回。BIO是Java最早的网络编程API,也是最常用的API。BIO的实现简单,易于理解和使用,但是由于阻塞......
  • 轻量应用服务器与ECS云服务器的区别?
    什么是轻量应用服务器?轻量应用服务器是面向入门级云计算及简单应用用户,提供基于单台云服务器的域名管理、应用部署、安全和运维管理的一站式综合服务。用户可以选择精品应用镜像(比如wordpress),并可在控制台实现全方位的服务器、域名、防火墙、安全防控、监控等管理和操作。轻量应......
  • 类型和接口之间的区别
    摘抄自《TypeScript编程》BorisCherny著安道译1.类型和接口的共同点与类型别名相似,接口是一种命名类型的方式,这样就不用在行内定义了。类型别名和接口算是同一概念的两种语法(就像函数表达式和函数声明之间的关系),不过二者之间还是有一些细微差别。先看二者的共同点。以下述类......
  • spring中的beanFactory和FactoryBean的区别?
    beanFactory是容器的根接口是一个工厂,负责管理bean,创建bean。FactoryBean是一个工厂bean,用来创建一类比较复杂的对象。比如mybatis里的sqlsessionFactory。二者的联系:FactoryBean的实现类会向容器中注入自身以及getObject方法返回的对象。二者联系的点在于AbstractBeanFac......
  • FLEX实践—控件内容与String显示区别
     在解释这个区别之前先来看一段示例:<?xmlversion="1.0"encoding="utf-8"?><mx:Applicationxmlns:mx="http://www.adobe.com/2006/mxml"layout="absolute"><mx:Script><!--[CDATA[i......
  • 深度学习进阶篇-预训练模型[3]:XLNet、BERT、GPT,ELMO的区别优缺点,模型框架、一些Trick
    深度学习进阶篇-预训练模型[3]:XLNet、BERT、GPT,ELMO的区别优缺点,模型框架、一些Trick、TransformerEncoder等原理详细讲解1.XLNet:GeneralizedAutoregressivePretrainingforLanguageUnderstanding1.1.从AR和AE模型到XLNet模型自回归模型(AutoregressiveModel,AR),通过估计......