温馨提示×

substr与substring函数的区别是什么

小亿
328
2024-01-08 11:09:45
栏目: 编程语言

substr和substring函数都是用来截取字符串的方法,但是两者有以下几个区别:

  1. 参数不同:substr函数接受两个参数,第一个参数是起始位置,第二个参数是要截取的字符数。而substring函数接受两个参数,第一个参数是起始位置,第二个参数是终止位置(不包括终止位置的字符)。

  2. 负数处理不同:当substr函数的第一个参数为负数时,表示从字符串末尾开始计算起始位置。而当substring函数的参数为负数时,会被自动转换为0。

  3. 终止位置超出字符串长度:当substr函数的第二个参数大于字符串长度时,会截取到字符串末尾。而当substring函数的第二个参数大于字符串长度时,会被自动转换为字符串长度。

  4. 返回值不同:substr函数返回从起始位置开始的指定长度的子字符串。substring函数返回从起始位置到终止位置的子字符串。

示例:

var str = "Hello World!";

console.log(str.substr(0, 5)); // 输出 "Hello"
console.log(str.substring(0, 5)); // 输出 "Hello"

console.log(str.substr(6, 5)); // 输出 "World"
console.log(str.substring(6, 11)); // 输出 "World"

console.log(str.substr(-6)); // 输出 "World!"
console.log(str.substring(-6)); // 输出 "Hello World!"

console.log(str.substr(0, 20)); // 输出 "Hello World!"
console.log(str.substring(0, 20)); // 输出 "Hello World!"

总的来说,substr函数更灵活,可以通过指定起始位置和字符数来截取字符串。而substring函数更直观,可以通过指定起始位置和终止位置来截取字符串。

0