JavaScript String substring() 方法
定义和用法
substring()
方法从字符串中提取两个索引(位置)之间的字符,并返回子字符串。
substring()
方法从头到尾(不包括)提取字符。
substring()
方法不会更改原始字符串。
如果 start 大于 end,则交换参数:(4, 1) = (1, 4)。
小于 0 的开始或结束值被视为 0。
另请参阅:
实例
例子 1
从文本中提取子字符串:
let text = "Hello world!"; let result = text.substring(1, 4);
例子 2
从位置 2 开始:
let result = text.substring(2);
例子 3
如果 start 大于 end,则交换参数:
let result = text.substring(4, 1);
例子 4
如果 "start" 小于 0,它将从索引 0 开始:
let result = text.substring(-3);
例子 5
仅第一个:
let result = text.substring(0, 1);
例子 6
仅最后一个:
let result = text.substring(text.length - 1);
语法
string.substring(start, end)
参数
参数 | 描述 |
---|---|
start |
必需。非负的整数。起始位置。 第一个字符在索引 0 处。 |
end |
可选。非负的整数。结束位置(至多,但不包括)。 如果省略,则提取字符串的其余部分。 |
返回值
类型 | 描述 |
---|---|
字符串 | 包含被提取字符的字符串。 |
技术细节
返回值
返回新字符串,该字符串值包含 string 的一个子字符串,其内容是从 start 处到 end-1 处的所有字符,其长度为 end 减 start。
说明
substring()
方法返回的子串包括 start 处的字符,但不包括 end 处的字符。
如果参数 start 与 end 相等,那么该方法返回的就是一个空串(即长度为 0 的字符串)。如果 start 比 end 大,那么该方法在提取子串之前会先交换这两个参数。
请记住,该子串包括 start 处的字符,不包括 end 处的字符,返回的子串长度始终等于 end-start。
请注意,split()
和 substr()
都可以从一个字符串提取子串。和这些方法不同的是,substring()
方法不接受负的参数。
浏览器支持
substring()
是 ECMAScript1 (ES1) 特性。
所有浏览器都完全支持 ES1 (JavaScript 1997):
Chrome | IE | Edge | Firefox | Safari | Opera |
---|---|---|---|---|---|
Chrome | IE | Edge | Firefox | Safari | Opera |
支持 | 支持 | 支持 | 支持 | 支持 | 支持 |