JavaScript 字符串 slice() 方法

摘要:在本教程中,您将学习如何使用 JavaScript 字符串 slice() 方法从字符串中提取子字符串。

JavaScript 字符串 slice() 方法简介

String.prototype.slice() 方法从一个 字符串 中提取一部分,并将其作为子字符串返回。以下展示了 slice() 方法的语法

slice(start, end)

slice() 方法有两个可选参数 startend

start

start 参数是一个从零开始的索引,方法从该索引处开始提取。例如

const str = 'Hello';
const substr = str.slice(3);

console.log({ substr });
Code language: JavaScript (javascript)

输出

{ substr: 'lo' }Code language: CSS (css)

如果 start 为负数,slice() 方法从 str.length + start 位置开始提取。例如

const str = 'Hello';
const substr = str.slice(-3);

console.log({ substr });Code language: JavaScript (javascript)

输出

{ substr: 'llo' }Code language: CSS (css)

如果 start 被省略、为 undefined 或不能转换为数字,slice() 方法从字符串开头开始提取。

const str = 'Hello';
const substr = str.slice();

console.log({ substr });
Code language: JavaScript (javascript)

输出

{ substr: 'Hello' }Code language: CSS (css)

如果 start 大于或等于 字符串的长度slice() 方法返回一个空字符串。例如

const str = 'Hello';
const substr = str.slice(5);

console.log({ substr });
Code language: JavaScript (javascript)

输出

{ substr: '' }Code language: CSS (css)

end

end 是一个从零开始的索引,它指定 slice() 方法停止提取的位置的前一个位置。结果字符串不包括 end 索引处的字符。例如

const str = 'Hello';
const substr = str.slice(0, 2);

console.log({ substr });Code language: JavaScript (javascript)

输出

{ substr: 'He' }Code language: CSS (css)

如果 end 为负数,slice() 方法将其视为 str.length + end。例如

const str = 'Hello';
const substr = str.slice(0, -2);

// str.length 5
// str.length + end = 5 + (-2) = 3

console.log({ substr });Code language: JavaScript (javascript)

如果 end 大于 字符串的长度slice() 方法提取到字符串的末尾。例如

const str = 'Hello';
const substr = str.slice(2, 6);

console.log({ substr });Code language: JavaScript (javascript)

输出

{ substr: 'llo' }Code language: CSS (css)

如果 end 被省略、为 undefined 或不能转换为数字,slice() 方法也提取到字符串的末尾。例如

const str = 'Hello';
const substr = str.slice(3);

console.log({ substr });Code language: JavaScript (javascript)

输出

{ substr: 'lo' }Code language: CSS (css)

如果 end 表示的位置在 start 表示的位置之前,slice() 方法返回一个空字符串。例如

const str = 'Hello';
const substr = str.slice(3, 2);

console.log({ substr });Code language: JavaScript (javascript)

输出

{ substr: '' }Code language: CSS (css)

JavaScript 字符串 slice() 方法实战示例

以下示例使用 slice() 方法获取电子邮件地址的本地部分

let email = '[email protected]'
let localPart = email.slice(0,email.indexOf('@'));

console.log(localPart);Code language: JavaScript (javascript)

输出

johnCode language: JavaScript (javascript)

工作原理

  • 首先,使用 indexOf() 方法查找 @ 符号的位置。indexOf() 方法的返回值用作 slice() 方法的第二个参数。
  • 然后,使用 slice() 方法从字符串开头提取到 @ 符号前一个字符的电子邮件地址的本地部分。

总结

  • 使用 JavaScript 字符串 slice() 方法从字符串中提取子字符串。
本教程对您有帮助吗?