substring与substr的区别
substring()与substr()的主要区别
substring()方法返回一个索引和另一个索引之间的字符串,语法如下:
str.substring(indexStart, [indexEnd])
下面有六点需要注意:
- substring()从提取的字符indexStart可达但不包括 indexEnd
- 如果indexStart 等于indexEnd,substring()返回一个空字符串。
- 如果indexEnd省略,则将substring()字符提取到字符串的末尾。
- 如果任一参数小于0或是NaN,它被视为为0。
- 如果任何一个参数都大于stringName.length,则被视为是stringName.length。
- 如果indexStart大于indexEnd,那么效果substring()就好像这两个论点被交换了一样; 例如,str.substring(1, 0) == str.substring(0, 1)
以下是一些示例代码:
var str = 'abcdefghij';
console.log('(1, 2): ' + str.substring(1, 2)); // '(1, 2): b'
console.log('(1, 1): ' + str.substring(1, 1)); // '(1, 1): '
console.log('(-3, 2): ' + str.substring(-3, 2)); // '(-3, 2): ab'
console.log('(-3): ' + str.substring(-3)); // '(-3): abcdefghij'
console.log('(1): ' + str.substring(1)); // '(1): bcdefghij'
console.log('(-20, 2): ' + str.substring(-20, 2)); // '(-20, 2): ab'
console.log('(2, 20): ' + str.substring(2, 20)); // '(2, 20): cdefghij'
console.log('(20, 2): ' + str.substring(20, 2)); // '(20, 2): cdefghij'
substr()
方法返回从指定位置开始的字符串中指定字符数的字符,语法如下:
str.substr(start, [length])
下面有四点需要注意:
substr()
会从start
获取长度为length
字符(如果截取到字符串的末尾,则会停止截取)。- 如果
start
是正的并且大于或等于字符串的长度,则substr()
返回一个空字符串。- 若
start
为负数,则将该值加上字符串长度后再进行计算(如果加上字符串的长度后还是负数,则从0开始截取)。- 如果
length
为0或为负数,substr()
返回一个空字符串。如果length
省略,则将substr()
字符提取到字符串的末尾。
以下是一些示例代码:
var str = 'abcdefghij';
console.log('(1, 2): ' + str.substr(1, 2)); // '(1, 2): bc'
console.log('(-3, 2): ' + str.substr(-3, 2)); // '(-3, 2): hi'
console.log('(-3): ' + str.substr(-3)); // '(-3): hij'
console.log('(1): ' + str.substr(1)); // '(1): bcdefghij'
console.log('(-20, 2): ' + str.substr(-20, 2)); // '(-20, 2): ab'
console.log('(20, 2): ' + str.substr(20, 2)); // '(20, 2): '
需要注意的是,Microsoft的JScript不支持起始索引的负值。如果要使用此功能,可以使用以下兼容性代码来解决此错误:
// only run when the substr() function is broken
if ('ab'.substr(-1) != 'b') {/*** Get the substring of a string* @param {integer} start where to start the substring* @param {integer} length how many characters to return* @return {string}*/String.prototype.substr = function(substr) {return function(start, length) {// call the original methodreturn substr.call(this,// did we get a negative start, calculate how much it is from the beginning of the string// adjust the start parameter for negative valuestart < 0 ? this.length + start : start,length)}}(String.prototype.substr);
}
substring()
方法的参数表示起始和结束索引,substr()
方法的参数表示起始索引和要包含在生成的字符串中的字符的长度,示例如下:
var text = 'Mozilla';
console.log(text.substring(2,5)); // => "zil"
console.log(text.substr(2,3)); // => "zil"
========
slice()
slice()
方法返回一个索引和另一个索引之间的字符串,语法如下:
str.slice(beginIndex[, endIndex])
下面有三点需要注意:
- 若
beginIndex
为负数,则将该值加上字符串长度后再进行计算(如果加上字符串的长度后还是负数,则从0开始截取)。- 如果
beginIndex
大于或等于字符串的长度,则slice()
返回一个空字符串。- 如果
endIndex
省略,则将slice()
字符提取到字符串的末尾。如果为负,它被视为strLength + endIndex
其中strLength
是字符串的长度。
以下是一些示例代码:
var str = 'abcdefghij';
console.log('(1, 2): ' + str.slice(1, 2)); // '(1, 2): b'
console.log('(-3, 2): ' + str.slice(-3, 2)); // '(-3, 2): '
console.log('(-3, 9): ' + str.slice(-3, 9)); // '(-3, 9): hi'
console.log('(-3): ' + str.slice(-3)); // '(-3): hij'
console.log('(-3,-1): ' + str.slice(-3,-1)); // '(-3,-1): hi'
console.log('(0,-1): ' + str.slice(0,-1)); // '(0,-1): abcdefghi'
console.log('(1): ' + str.slice(1)); // '(1): bcdefghij'
console.log('(-20, 2): ' + str.slice(-20, 2)); // '(-20, 2): ab'
console.log('(20): ' + str.slice(20)); // '(20): '
console.log('(20, 2): ' + str.slice(20, 2)); // '(20, 2): '
substring与substr的区别相关推荐
- js中的extend的用法及其JS中substring与substr的区别
1. JS中substring与substr的区别 之前在项目中用到substring方法,因为C#中也有字符串的截取方法Substring方法,当时也没有多想就误以为这两种方法的使用时一样的. ...
- js substring和substr的区别实例,一目了然
2019独角兽企业重金招聘Python工程师标准>>> var str = "0123456789"; alert(str.substring(0));----- ...
- js中slice,SubString和SubStr的区别
slice() 定义和用法 slice() 方法可从已有的数组中返回选定的元素. string.slice(start, end)提取一个字符串 string.substring(start, end ...
- 【JS点滴】substring和substr以及slice和splice的用法和区别。
那么就由一道笔试题引入吧,已知有字符串a="get-element-by-id",写一个function将其转化成驼峰表示法"getElementById": ...
- 字符串 substring()和 substr()之间的区别
字符串 substring()和 substr()之间的区别 相同点 substring()和substr()都是用来截取字符串的 当只有一个参数的时候,两者的作用一样,都是截取字符串,从当前下标开始 ...
- slice,substring,substr的区别
1.都为正整数//例子数据 var arr = [1,2,3,4,5,6,7], var str = "helloworld!"; //注意这里有个!号也算一位若有空格,空格也算一 ...
- substring、substr以及slice、splice用法和区别
关于substring() substring(start,stop)表示返回从start开始到stop处之间的新字符串,其长度为stop减 start. 特点: 包含start,但不包含stop 且 ...
- 截取字符串slice(),substring() ,substr()。
在js中字符截取函数有常用的三个slice().substring().substr()了,下面我来给大家介绍slice().substring().substr()函数在字符截取时的一些用法与区别吧 ...
- js字符串截取函数的三种方式(slice()、substring()、substr())
在js中字符截取函数有常用的三个slice().substring().substr()了,下面我来给大家介绍slice().substring().substr()函数在字符截取时的一些用法与区别吧 ...
最新文章
- 博士生在没有导师指导的情况下,该如何自己选题发 CVPR ?
- Linux中date命令用法及大小比较
- Flux快速入门指南
- [Splay][线段树] jzoj P5662 尺树寸泓
- [vue] vue常用的修饰符有哪些?列举并说明
- leetcode 88
- spring-102-spring全注解快速实现事务
- ASP.NET 安全认证
- 总线全称_一篇文章讲透I2C总线协议
- Qt中一个.cpp类的函数调用另一个.cpp中类的函数的方法
- vue-element-admin——登录页面添加自定义背景
- Python学习笔记——cmd提示pip不是内部或外部命令解决方法
- 魂斗罗4 java 7723_FC魂斗罗4游戏下载-魂斗罗4FC无敌修改版下载-电玩咖
- 区块链-压缩格式的密钥
- 赋值运算符的基本用法
- html标志着html文档的开始,html标记标志着HTML文档的开始,/html标记标志着HTML文档的结束。...
- linux 批量 添加后缀名,Linux下批量修改后缀名(示例代码)
- 地图采集车的那些事 | 硬件质量篇
- 电脑文件管理,教你批量给全部文件夹名称随机命名
- 知道一个IP地址,如何计算出它的子网掩码
热门文章
- 图谱实战 | 丁香园医疗领域图谱的构建与应用
- Allegro创建板框的方法介绍
- 对二维数组的数组名取地址,a,a+1的理解
- 【转载】利用ENVI直接建立掩膜去除背景Inf值或NaN值
- 通过游戏学java(适合初学者)
- Bug的生命周期_Sinno_Song_新浪博客
- ImageView组件的应用:图片浏览器
- nhibernate访问mysql配置_NHibernate各种数据库连接参数文件配置方法说明
- 神经网络作文1000字,我与神经系统作文
- python挖矿木马_记一次阿里云被植入挖矿木马的事件