博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
js中substring和substr的用法比较
阅读量:7048 次
发布时间:2019-06-28

本文共 2847 字,大约阅读时间需要 9 分钟。

原文:

推荐使用substring 方法

 
stringObject.substring(start,stop)
 
stringObject.substr(start,length)
 
定义和用法
提取字符串中两个指定的索引号之间的字符。
substring() 方法用于提取字符串中介于两个指定下标之间的字符。
 

从起始索引号提取字符串中指定数目的字符。

substr() 方法可在字符串中抽取从 start 下标开始的指定数目的字符。

 
参数 描述
参数     描述
start     必需。一个非负的整数,规定要提取的子串的第一个字符在 stringObject 中的位置。
stop     可选。一个非负的整数,比要提取的子串的最后一个字符在 stringObject 中的位置多 1。如果省略该参数,那么返回的子串会一直到字符串的结尾。
  参数    描述
start   必需。所需的子字符串的起始位置。字符串中的第一个字符的索引为 0。
length 可选。在返回的子字符串中应包括的字符个数。
 
返回值
一个新的字符串,该字符串值包含 stringObject 的一个子字符串,其内容是从 start 处到 stop-1 处的所有字符,其长度为 stop 减 start。   一个新的字符串,包含从 stringObject 的 start(包括 start 所指的字符) 处开始的 length 个字符。如果没有指定 length,那么返回的字符串包含从 start 到 stringObject 的结尾的字符。  
说明
substring 方法返回的子串包括 start 处的字符,但不包括 end 处的字符。
如果 start 与 end 相等,那么该方法返回的就是一个空串(即长度为 0 的字符串)。
如果 start 比 end 大,那么该方法在提取子串之前会先交换这两个参数。
如果 start 或 end 为负数,那么它将被替换为 0。
  如果start为负数,则start=str.length+start。
如果 length 为 0 或负数,将返回一个空字符串。
如果没有指定该参数,则子字符串将延续到stringObject的最后。
 
 
var str = "0123456789";console.log(str.substring(0));//------------"0123456789"console.log(str.substring(5));//------------"56789"console.log(str.substring(10));//-----------""console.log(str.substring(12));//-----------""console.log(str.substring(-5));//-----------"0123456789"console.log(str.substring(-10));//----------"0123456789"console.log(str.substring(-12));//----------"0123456789"console.log(str.substring(0,5));//----------"01234"console.log(str.substring(0,10));//---------"0123456789"console.log(str.substring(0,12));//---------"0123456789"console.log(str.substring(2,0));//----------"01"console.log(str.substring(2,2));//----------""console.log(str.substring(2,5));//----------"234"console.log(str.substring(2,12));//---------"23456789"console.log(str.substring(2,-2));//---------"01"console.log(str.substring(-1,5));//---------"01234"console.log(str.substring(-1,-5));//--------""
 
var str = "0123456789";console.log(str.substr(0));//---------------"0123456789"console.log(str.substr(5));//---------------"56789"console.log(str.substr(10));//--------------""console.log(str.substr(12));//--------------""console.log(str.substr(-5));//--------------"56789"console.log(str.substr(-10));//-------------"0123456789"console.log(str.substr(-12));//-------------"0123456789"console.log(str.substr(0,5));//-------------"01234"console.log(str.substr(0,10));//------------"0123456789"console.log(str.substr(0,12));//------------"0123456789"console.log(str.substr(2,0));//-------------""console.log(str.substr(2,2));//-------------"23"console.log(str.substr(2,5));//-------------"23456"console.log(str.substr(2,12));//------------"23456789"console.log(str.substr(2,-2));//------------""console.log(str.substr(-1,5));//------------"9"console.log(str.substr(-1,-5));//-----------""
 
 备注

 重要事项:与  和  方法不同的是,substring() 不接受负的参数。

 

重要事项:ECMAscript 没有对该方法进行标准化,因此反对使用它。substr() 的参数指定的是子串的开始位置和长度,因此它可以替代 substring() 和 slice() 来使用。

 

转载地址:http://yzuol.baihongyu.com/

你可能感兴趣的文章
Hadoop MapReduce概念学习系列之十分钟看透MapReduce(十一)
查看>>
[C#]C#补习——类型和操作符—PART2
查看>>
链表常见的问题【转】
查看>>
Outlook HTML渲染引擎
查看>>
进程的切换和系统的一般执行过程【转】
查看>>
C语言:创建动态单向链表,创建完成后,输出每一个节点的数据信息。
查看>>
MVC3 上传文件
查看>>
在windows下使用eclipes连接linux下的Hadoop集群
查看>>
URAL 1141. RSA Attack RSA加密演算法
查看>>
[LeetCode] Count Complete Tree Nodes 求完全二叉树的节点个数
查看>>
深入Java集合学习系列:LinkedHashMap的实现原理
查看>>
JSpider(5):EventSinks,Rules&Resources
查看>>
Linux之sed
查看>>
第 40 章 Asymptote: The Vector Graphics Language
查看>>
一点小疑问
查看>>
开发可复用的从Domino中导出数据到Excel的类
查看>>
JAVA设计模式之【单例模式】
查看>>
Android防止进程被第三方软件杀死
查看>>
PostgreSQL在何处处理 sql查询之四十九
查看>>
ASP.NET Core 使用 Redis 客户端
查看>>