在JavaScript中,substring()
和slice()
都是用于截取字符串的方法,它们有一些细微的区别。
substring()
方法接受两个参数,即起始索引和结束索引,并返回从起始索引到结束索引之间的字符组成的子串。
slice()
方法也接受两个参数,即起始索引和结束索引,但它可以接受负数作为参数,表示从字符串的末尾开始计算。如果只有一个参数,那么slice()
会从该索引开始提取到字符串的末尾。
在使用这两个方法时,可以根据实际情况选择使用哪个方法。一般来说,如果需要从特定的位置开始截取字符串,可以使用substring()
;如果需要从字符串的末尾开始截取,或者需要更灵活的截取方式,可以使用slice()
。
需要注意的是,这两个方法都不会改变原始字符串,而是返回一个新的字符串。
substring
()
substring()
方法从字符串中提取两个索引(位置)之间的字符,并返回子字符串。
substring()
方法从头到尾(不包括)提取字符。
substring()
方法不会更改原始字符串。
如果 start 大于 end,则交换参数:(4, 1) = (1, 4)。
小于 0 的开始或结束值被视为 0。
slice
()
具体来说,slice(start, end)
方法会从字符串中提取出从 start 到 end 的字符,并返回它们组成的新的字符串。注意,这里的索引是从 0 开始的,所以第一个字符的索引是 0,第二个字符的索引是 1,以此类推。
如果只提供一个参数,那么 slice()
方法会从该索引开始提取到字符串的末尾。
例如,对于字符串 “hello”,slice(1, 3)
会返回 “el”,而 slice(1)
会返回 “ello”。
如果 start 参数是负数,那么它会从字符串的末尾开始计算。例如,对于字符串 “hello”,slice(-1)
会返回 “o”。
如果 end 参数是负数,那么它会相当于字符串长度加上 end 的绝对值,即从字符串末尾开始向前算。例如,对于字符串 “hello”,slice(1, -1)
会返回 “ello”。
近期评论