JavaScript 提供了丰富的字符串方法,用于操作和处理字符串。以下是常用的字符串方法及其用法:
1. 获取字符串信息
| 方法 | 说明 |
|---|---|
length | 返回字符串的长度。 |
charAt(index) | 返回指定索引位置的字符。 |
charCodeAt(index) | 返回指定索引位置字符的 Unicode 编码。 |
codePointAt(index) | 返回指定索引位置字符的 Unicode 码点(支持大于 0xFFFF的字符)。 |
示例:
const str = "Hello";
console.log(str.length); // 5
console.log(str.charAt(1)); // "e"
console.log(str.charCodeAt(1)); // 101
2. 查找和匹配
| 方法 | 说明 |
|---|---|
indexOf(searchValue, fromIndex) | 返回指定子字符串首次出现的索引,未找到返回 -1。 |
lastIndexOf(searchValue, fromIndex) | 返回指定子字符串最后一次出现的索引,未找到返回 -1。 |
includes(searchValue, fromIndex) | 判断字符串是否包含指定子字符串,返回布尔值。 |
startsWith(searchValue, fromIndex) | 判断字符串是否以指定子字符串开头,返回布尔值。 |
endsWith(searchValue, fromIndex) | 判断字符串是否以指定子字符串结尾,返回布尔值。 |
match(regexp) | 返回字符串匹配正则表达式的结果数组。 |
search(regexp) | 返回匹配正则表达式的第一个索引,未找到返回 -1。 |
示例:
const str = "Hello, world!";
console.log(str.indexOf("world")); // 7
console.log(str.includes("Hello")); // true
console.log(str.startsWith("Hello")); // true
console.log(str.match(/o/g)); // ["o", "o"]
3. 截取和分割
| 方法 | 说明 |
|---|---|
slice(start, end) | 提取从 start到 end(不包括 end)的子字符串。 |
substring(start, end) | 提取从 start到 end(不包括 end)的子字符串(不支持负数)。 |
substr(start, length) | 从 start开始提取指定长度的子字符串(已弃用,推荐使用 slice)。 |
split(separator, limit) | 根据分隔符将字符串拆分为数组,limit限制拆分次数。 |
示例:
const str = "Hello, world!";
console.log(str.slice(0, 5)); // "Hello"
console.log(str.substring(7, 12)); // "world"
console.log(str.split(", ")); // ["Hello", "world!"]
4. 修改字符串
| 方法 | 说明 |
|---|---|
toLowerCase() | 将字符串转换为小写。 |
toUpperCase() | 将字符串转换为大写。 |
trim() | 去除字符串两端的空白字符。 |
trimStart()/ trimLeft() | 去除字符串开头的空白字符。 |
trimEnd()/ trimRight() | 去除字符串结尾的空白字符。 |
replace(searchValue, replaceValue) | 替换字符串中的子字符串。 |
replaceAll(searchValue, replaceValue) | 替换字符串中所有匹配的子字符串。 |
padStart(targetLength, padString) | 在字符串开头填充字符,直到达到指定长度。 |
padEnd(targetLength, padString) | 在字符串结尾填充字符,直到达到指定长度。 |
示例:
const str = " Hello, world! ";
console.log(str.trim()); // "Hello, world!"
console.log(str.replace("world", "JavaScript")); // "Hello, JavaScript!"
console.log("5".padStart(3, "0")); // "005"
5. 拼接和重复
| 方法 | 说明 |
|---|---|
concat(str1, str2, ...) | 拼接多个字符串,返回新字符串。 |
repeat(count) | 将字符串重复指定次数,返回新字符串。 |
示例:
const str1 = "Hello";
const str2 = "world";
console.log(str1.concat(", ", str2)); // "Hello, world"
console.log(str1.repeat(3)); // "HelloHelloHello"
6. Unicode 相关
| 方法 | 说明 |
|---|---|
fromCharCode(code1, code2, ...) | 将 Unicode 编码转换为字符。 |
fromCodePoint(code1, code2, ...) | 将 Unicode 码点转换为字符(支持大于 0xFFFF的字符)。 |
normalize(form) | 返回字符串的 Unicode 规范化形式。 |
示例:
console.log(String.fromCharCode(72, 101, 108, 108, 111)); // "Hello"
console.log(String.fromCodePoint(0x1F60A));
7. 其他方法
| 方法 | 说明 |
|---|---|
localeCompare(target) | 比较字符串的顺序,返回一个数字(小于 0、等于 0 或大于 0)。 |
toString() | 返回字符串本身(字符串已经是原始值,通常不需要调用)。 |
valueOf() | 返回字符串的原始值(通常不需要调用)。 |
示例:
const str = "Hello";
console.log(str.localeCompare("World")); // -1 (表示 "Hello" 在 "World" 之前)
🌟 总结
JavaScript 的字符串方法非常强大,涵盖了字符串的查找、截取、修改、拼接等操作。掌握这些方法可以让你更高效地处理字符串数据!🚀