JS截取字符串substr 和 substring方法的区别

substr 方法 返回一个从指定位置开始的指定长度的子字符串。 stringvar.substr(start [, length ]) 参数 stringvar 必选项。要提取子字符串的字符串文字或 String 对象。 start 必选项。所需的子字符串的起始位置。字符串中的第一个字符的索引为 0。 length 可选项。在返回的子字符串中应包括的字符个数。 说明 如果 length 为 0 或负数,将返回一个空字符串。如果没有指定该参数,则子字符串将延续到 stringvar 的最后。 示例 下面的示例演示了substr 方法的用法。

function SubstrDemo(){
   var s, ss;                // 声明变量。
   var s = "The rain in Spain falls mainly in the plain.";
   ss = s.substr(12, 5); // 获取子字符串。
   return(ss);               // 返回 "Spain"。
}

substring 方法 返回位于 String 对象中指定位置的子字符串。

strVariable.substring(start, end)
"String Literal".substring(start, end)

参数 start 指明子字符串的起始位置,该索引从 0 开始起算。 end 指明子字符串的结束位置,该索引从 0 开始起算。 说明 substring 方法将返回一个包含从 start 到最后(不包含 end )的子字符串的字符串。 substring 方法使用 start 和 end 两者中的较小值作为子字符串的起始点。例如, strvar.substring(0, 3) 和 strvar.substring(3, 0) 将返回相同的子字符串。 如果 start 或 end 为 NaN 或者负数,那么将其替换为0。 子字符串的长度等于 start 和 end 之差的绝对值。例如,在 strvar.substring(0, 3) 和 strvar.substring(3, 0) 返回的子字符串的的长度是 3。 示例 下面的示例演示了 substring 方法的用法。

function SubstringDemo(){
   var ss;                         // 声明变量。
   var s = "The rain in Spain falls mainly in the plain..";
   ss = s.substring(12, 17);   // 取子字符串。
   return(ss);                     // 返回子字符串。
}

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏King_3的技术专栏

leetcode-162-寻找峰值

给定一个输入数组 nums,其中 nums[i] ≠ nums[i+1],找到峰值元素并返回其索引。

513
来自专栏禅林阆苑

mysql学习总结06 — SQL编程

事务(transaction)是访问并可能更新数据库中各种数据项的一个程序执行单元(unit)。事务通常由高级数据库操纵语言或编程语言书写的用户程序的执行所引起...

1524
来自专栏王磊的博客

web.config中配置字符串中特殊字符的处理

配置文件中往往要用到一些特殊的字符,                Web.Config默认编码格式为UTF-8,对于XML文件,要用到实体转义码来替换。对应...

3294
来自专栏武培轩的专栏

剑指Offer-数组中重复的数字

package Array; /** * 数组中重复的数字 *在一个长度为n的数组里的所有数字都在0到n-1的范围内。 * 数组中某些数字是重复的,但不...

2814
来自专栏码洞

Channel最佳实践之基本规则【译】

channel[通道]是golang的一种重要特性,正是因为channel的存在才使得golang不同于其它语言。channel使得并发编程变得简单容易有趣。

571
来自专栏赵俊的Java专栏

空格替换

2278
来自专栏决胜机器学习

《Redis设计与实现》读书笔记(三) ——Redis中的链表

《Redis设计与实现》读书笔记(三) ——Redis中的链表 (原创内容,转载请注明来源,谢谢) 一、概述 链表在redis底层实现广泛,例如redis的li...

3526
来自专栏CDA数据分析师

CDA数据分析师学习之路第3期 | Spark RDD的转换操作举例

Spark RDD中的操作非常丰富,有80多种针对数据的操作。其中最重要的是Transformation(转换操作)和Action(执行操作)两类。其中转换操作...

17610
来自专栏北京马哥教育

Python Re 模块最全解读: 11703 字帮你彻底掌握

re模块下的函数 compile(pattern):创建模式对象 import re pat=re.compile('A') m=pat.search('CBA...

31810
来自专栏YG小书屋

ES集群如何做到高可用

2775

扫码关注云+社区