在 JavaScript 中,有多种方法可以提取子字符串。以下是常见的方法汇总:
1. substring
substring
方法用于提取字符串的某个部分,并返回一个新的字符串。它接受两个参数:起始索引和结束索引(不包括结束索引)。
const str = "Hello, world!";
const result = str.substring(7, 12);
console.log(result); // "world"
2. slice
slice
方法与 substring
类似,但它可以接受负数索引,表示从字符串末尾开始计算。
const str = "Hello, world!";
const result = str.slice(7, 12);
console.log(result); // "world"const negativeResult = str.slice(-6, -1);
console.log(negativeResult); // "world"
3. substr
substr
方法用于从起始索引开始提取指定长度的子字符串。它接受两个参数:起始索引和长度。
const str = "Hello, world!";
const result = str.substr(7, 5);
console.log(result); // "world"
4. split
split
方法主要用于分隔字符串,但它也可以用于提取子字符串。
const str = "Hello, world!";
const result = str.split(" ")[1];
console.log(result); // "world!"
5. match
match
方法与正则表达式结合使用,可以提取符合模式的子字符串。
const str = "Hello, world!";
const result = str.match(/world/);
console.log(result[0]); // "world"
6. replace with a function
replace
方法可以与正则表达式和回调函数结合使用,提取子字符串。(参考: replace的详解和常用的案例)
const str = "Hello, world!";
const result = str.replace(/(world)/, (match) => match);
console.log(result); // "Hello, world!"
示例代码
以下是一个包含上述所有方法的示例代码:
const str = "Hello, world!";// 使用 substring 方法
const substringResult = str.substring(7, 12);
console.log(substringResult); // "world"// 使用 slice 方法
const sliceResult = str.slice(7, 12);
console.log(sliceResult); // "world"const negativeSliceResult = str.slice(-6, -1);
console.log(negativeSliceResult); // "world"// 使用 substr 方法
const substrResult = str.substr(7, 5);
console.log(substrResult); // "world"// 使用 split 方法
const splitResult = str.split(" ")[1];
console.log(splitResult); // "world!"// 使用 match 方法
const matchResult = str.match(/world/);
console.log(matchResult[0]); // "world"// 使用 replace 方法
const replaceResult = str.replace(/(world)/, (match) => match);
console.log(replaceResult); // "Hello, world!"