摘要:在本教程中,您将学习如何使用 JavaScript 字符串 slice()
方法从字符串中提取子字符串。
JavaScript 字符串 slice() 方法简介
String.prototype.slice()
方法从一个 字符串 中提取一部分,并将其作为子字符串返回。以下展示了 slice()
方法的语法
slice(start, end)
slice()
方法有两个可选参数 start
和 end
。
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)
输出
john
Code language: JavaScript (javascript)
工作原理
- 首先,使用
indexOf()
方法查找@
符号的位置。indexOf()
方法的返回值用作slice()
方法的第二个参数。 - 然后,使用
slice()
方法从字符串开头提取到@
符号前一个字符的电子邮件地址的本地部分。
总结
- 使用 JavaScript 字符串
slice()
方法从字符串中提取子字符串。
本教程对您有帮助吗?