JS的substring函数详解
在JavaScript中,substring()函数是用来从字符串中提取子字符串的方法。它接受两个参数,第一个参数是要提取的子字符串的起始位置,第二个参数是要提取的子字符串的结束位置(可选)。如果不传递第二个参数,则会截取从起始位置到字符串末尾的所有字符。
语法
substring()函数的语法如下:
string.substring(start, end)
start
: 必需,一个非负整数,规定要提取的子串的第一个字符在 string 中的位置。如果 start 为负数,则视为0。end
: 可选,一个非负整数,规定要提取的子串的字符的最后一个字符在 string 中的位置(不包含end位置)。如果 end 为负数,则从string末尾倒数。如果省略,则提取到字符串的末尾。
返回值
substring()方法返回一个新的字符串,包含从 start 到 end(不包括end位置)的字符串的副本。
示例
var str = "Hello, World!";
var subStr1 = str.substring(7); // 从索引7开始提取到末尾
console.log(subStr1); // 输出: "World!"
var subStr2 = str.substring(1, 5); // 从索引1开始提取到索引5(不包括5)
console.log(subStr2); // 输出: "ello"
在上面的示例中,我们定义了一个字符串str
并对其使用了substring()函数,分别截取了不同的子字符串并将结果打印出来。
特殊情况
- 如果
start
大于end
,substring()
会自动交换这两个参数。
var str = "Hello, World!";
var subStr = str.substring(5, 1);
console.log(subStr); // 输出: "ello"
- 如果
start
和end
相等,则返回空字符串。
var str = "Hello, World!";
var subStr = str.substring(5, 5);
console.log(subStr); // 输出: ""
- 如果
start
或end
为负数,则会被当做0处理。
var str = "Hello, World!";
var subStr1 = str.substring(-5);
console.log(subStr1); // 输出: "Hello, World!"
var subStr2 = str.substring(5, -1);
console.log(subStr2); // 输出: "Hello, World!"
var subStr3 = str.substring(-5, -1);
console.log(subStr3); // 输出: "Hello, Worl"
总结
substring()函数是一个常用的字符串处理方法,在实际开发中经常能见到它的身影。