substr与substring函数区别
时间: 2023-05-31 15:18:56 浏览: 137
### 回答1:
substr和substring函数都是用来截取字符串的函数,但是它们的用法和区别如下:
1. substr函数
substr函数是从字符串的指定位置开始截取指定长度的子字符串。它的语法如下:
substr(string,start,length)
其中,string是要截取的字符串,start是截取的起始位置,length是截取的长度。如果省略length,则截取从start开始到字符串末尾的所有字符。
2. substring函数
substring函数也是从字符串的指定位置开始截取指定长度的子字符串。它的语法如下:
substring(string,start,end)
其中,string是要截取的字符串,start是截取的起始位置,end是截取的结束位置。如果省略end,则截取从start开始到字符串末尾的所有字符。
区别:
1. substr函数的第三个参数是截取的长度,而substring函数的第三个参数是截取的结束位置。
2. 如果start参数为负数,substr函数会将其视为从字符串末尾开始的位置,而substring函数会将其视为。
3. 如果start参数大于end参数,substr函数会自动交换它们的位置,而substring函数会返回一个空字符串。
综上所述,substr函数和substring函数的用法和区别都需要根据具体的需求来选择使用。
### 回答2:
substr和substring是Javascript字符串函数中非常常用的两个函数。它们都用来截取字符串,但是在使用方式上有很大的区别。
首先是substr函数。substr函数是根据指定的起始位置和截取长度,从字符串中截取指定长度的子串。例如:
```
var str="abcdefg";
var result=str.substr(2,3);
console.log(result);
```
结果输出的是"cde",因为从第2个位置(即字符串中的第3个字符,从0开始计数)开始,截取了3个字符。所以substr函数需要传递两个参数,第一个是截取的起始位置,第二个是要截取的长度。
而substring函数则是根据指定的起始位置和结束位置,从字符串中截取指定范围的子串。例如:
```
var str="abcdefg";
var result=str.substring(2,5);
console.log(result);
```
结果输出的是"cde",同样是从第2个位置开始截取,但是结束位置为第5个位置前一个字符,即第4个位置。所以substring函数需要传递两个参数,第一个是截取的起始位置,第二个是截取的结束位置。
除了使用方式的区别,substr和substring的另一个区别在于对待负数参数的方式。substr函数的第一个参数如果是负数,表示从字符串末尾开始计数,例如:
```
var str="abcdefg";
var result=str.substr(-3,2);
console.log(result);
```
结果输出的是"ef",表示从后往前数第3个字符开始,截取2个字符。而substring函数则将负数参数当做0处理,例如:
```
var str="abcdefg";
var result=str.substring(-3,2);
console.log(result);
```
结果输出的是"ab",表示从第0个位置开始截取2个字符。
总的来说,substr函数和substring函数都是字符串截取函数,根据不同的需求可以选择使用。需要注意的是,substr函数已经标注为被废弃的函数,不建议再使用,推荐使用substring或者slice函数来代替。
### 回答3:
substr与substring函数都可以用来从一个字符串中获取一部分字符。但是它们之间存在一些差别。
首先,这两个函数的参数有所不同。在JavaScript中,substr的参数有两个:第一个参数是要开始提取的字符位置,第二个参数是要提取的字符数量。而substring的参数也有两个:第一个参数是要提取的起始位置,第二个参数是要提取的终止位置,但是它不包括终止位置的字符。
其次,当参数为负数时,这两个函数的操作也不同。在使用substr函数时,如果第一个参数是负数,那么它被解释为字符串末尾的偏移量。而如果第二个参数是负数,那么它被解释为0。然而,在使用substring函数时,任何一个参数为负数,就会被解释为0。
另外,这两个函数也有一些细微的区别。当第一个参数等于字符串长度时,substr函数返回一个空字符串,而substring函数会返回第一个参数的字符串。当第一个参数大于字符串长度时,substr函数返回一个空字符串,而substring函数返回整个字符串。当第二个参数为0时,substr函数返回一个空字符串,而substring函数返回整个字符串。
综上所述,虽然substr与substring函数都用于获取字符串的一部分,但它们的使用方法有所不同。我们需要根据实际情况进行选择。
阅读全文