JavaScript 字符串的方法

18 阅读3分钟

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)提取从 startend(不包括 end)的子字符串。
substring(start, end)提取从 startend(不包括 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 的字符串方法非常强大,涵盖了字符串的查找、截取、修改、拼接等操作。掌握这些方法可以让你更高效地处理字符串数据!🚀