JavaScript substr() 方法如何使用和substring()有什么区别

科技州 2020-05-07

substr 是C++语言函数,也是javascript的函数之一,主要功能是复制子字符串,要求从指定位置开始,并具有指定的长度。如果没有指定长度或超出了源字符串的长度,则子字符串将延续到源字符串的结尾。

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

语法:stringObject.substr(start,length)

注意:

start:必需。要抽取的子串的起始下标。必须是数值如果是负数,那么该参数声明从字符串的尾部开始算起的位置也就是说,-1 指字符串中最后一个字符,-2 指倒数第二个字符,以此类推

length:可选。子串中的字符数。必须是数值。如果省略了该参数,那么返回从 stringObject 的开始位置到结尾的字串。

注释:substr() 的参数指定的是子串的开始位置和长度,因此它可以替代 substring() 和 slice() 来使用。


javascript中substr和substring的区别

javascriptsubstrsubstring都是截取字符串中子串,非常相近,可以有一个或两个参数。

1. 在JS中函数声明: stringObject.substring(start,stop)

start是在原字符串检索的开始位置,stop是检索的终止位置,返回结果中不包括stop所指字符。

例:

var str = "Hello Word!";

str.substr(6);  //Word

str.substring(6);   //Word

注:

substr(start [,length]) 第一个字符的索引是0,start 必选 length 可选

substring(start [,end]) 第一个字符的索引是0,start 必选 end 可选

相同点:

当有一个参数时,两者的功能是一样的,返回从start指定的位置直到字符串结束的子串

例:"HelloWord!".substring(4,8)   returns "oWor"

2. substr(start,length)

如:当DETAIL_TYPE 的值为123456789时, substr(DETAIL_TYPE,2,7) = 345678

从DETAIL_TYPE的第一位开始取六位字符

不同点:

有两个参数时

(1) substr(start,length) 返回从start位置开始length长度的子串

“HelloWord!”.substr(1,6);  //elloWo

【注】当length0或者负数,返回空字符串;

(2) substring(start,end) 返回从start位置开始到end位置的子串(不包含end)

“HelloWord”.substring(1,6); //elloW

【注】:

(1)substring 方法使用 start 和 end 两者中的较小值作为子字符串的起始点

(2)start 或 end 为 NaN 或者负数,那么将其替换为0

下一篇:JavaScript中sortNumber函数如何进行数组的排序
上一篇:JavaScript中a++和++a有什么区别
相关文章
评论
返回顶部小火箭