常用的 JavaScript 字符串操作方法和技巧:
1. 字符串访问
通过索引访问字符串的单个字符:
let str = "Hello";
console.log(str[0]); // "H"
console.log(str.charAt(1)); // "e"
2. 字符串拼接
使用 +
运算符或模板字面量进行拼接:
let str1 = "Hello";
let str2 = "World";
let combined = str1 + ", " + str2 + "!"; // "Hello, World!"
let templateString = `${str1}, ${str2}!`; // "Hello, World!"
3. 字符串分割
使用 .split()
方法将字符串分割为数组:
let str = "Hello,World,JavaScript";
let arr = str.split(","); // ["Hello", "World", "JavaScript"]
4. 字符串查找
使用 .indexOf()
和 .includes()
方法查找子字符串:
let str = "Hello, World!";
console.log(str.indexOf("World")); // 7
console.log(str.includes("Hello")); // true
5. 字符串替换
使用 .replace()
方法替换子字符串:
let str = "Hello, World!";
let newStr = str.replace("World", "JavaScript"); // "Hello, JavaScript!"
如果要替换所有匹配项,可以使用正则表达式:
let str = "Hello, World! World is great!";
let newStr = str.replace(/World/g, "JavaScript"); // "Hello, JavaScript! JavaScript is great!"
6. 字符串修剪
使用 .trim()
方法去除字符串两端的空格:
let str = " Hello, World! ";
console.log(str.trim()); // "Hello, World!"
7. 字符串转换
将字符串转换为大写或小写:
let str = "Hello, World!";
console.log(str.toUpperCase()); // "HELLO, WORLD!"
console.log(str.toLowerCase()); // "hello, world!"
8. 字符串模板
使用模板字面量(反引号 ``)来创建多行字符串和插值:
let name = "Alice";
let greeting = `Hello, ${name}!`; // "Hello, Alice!"
let multiLine = `This is line 1
This is line 2`; // 多行字符串
9. 字符串切割
使用 .slice()
或 .substring()
方法切割字符串:
let str = "Hello, World!";
let sliced = str.slice(0, 5); // "Hello"
let substring = str.substring(7, 12); // "World"
10. 字符串匹配
使用 .match()
方法与正则表达式匹配字符串:
let str = "The quick brown fox jumps over the lazy dog";
let matches = str.match(/quick/); // ["quick"]
11. 字符串重复
使用 .repeat()
方法重复字符串:
let str = "Hello";
let repeated = str.repeat(3); // "HelloHelloHello"
12. 字符串反转
JavaScript 没有内置的反转字符串的方法,可以使用数组和 .reverse()
方法来实现:
let str = "Hello";
let reversed = str.split("").reverse().join(""); // "olleH"
13. Escape 和 Unescape
使用 encodeURIComponent()
和 decodeURIComponent()
进行字符串的编码和解码:
let str = "Hello, World!";
let encoded = encodeURIComponent(str); // "Hello%2C%20World%21"
let decoded = decodeURIComponent(encoded); // "Hello, World!"