JavaScript 字符串内置方法整理
1. 字符查询
-
charAt()
-
作用:获取指定索引位置的字符。
-
语法
let char = string.charAt(index);
-
实例
var str = "abcdef"; console.log(str.charAt(3)); // "d"
-
注意:
str.charAt(3)
等同于str[3]
,但charAt()
不会返回undefined
,如果索引超出范围。
-
-
charCodeAt()
-
作用:返回指定索引位置字符的 Unicode 编码。
-
语法
let charCode = string.charCodeAt(index);
-
实例
var str = "abcdef"; console.log(str.charCodeAt(2)); // 99 ("c" 的 Unicode 编码)
-
-
indexOf()
和lastIndexOf()
-
作用:返回指定子字符串首次(
indexOf()
)或最后一次(lastIndexOf()
)出现的索引。如果找不到子字符串,返回-1
。 -
实例
var str = "Hello, world!"; console.log(str.indexOf("world")); // 7 console.log(str.lastIndexOf("o")); // 8
-
-
includes()
-
作用:判断字符串是否包含指定的子字符串,返回
true
或false
。 -
语法
let result = string.includes(substring);
-
实例
let str = "Hello, world!"; let searchTerm = "world"; console.log(str.includes(searchTerm)); // true
-
2. 字符替换
-
replace()
-
作用:替换字符串中的指定字符或子字符串。默认只替换第一个匹配项。如果想替换所有匹配项,需要使用正则表达式加上
g
标志。 -
语法
let newStr = string.replace("oldStr", "newStr");
-
实例
var str = "abcdecf"; var str1 = str.replace("c", "z"); console.log(str, str1); // "abcdecf" "abzdecf"
-
3. 字符截取
-
slice()
-
作用:提取字符串的一部分,返回一个新的字符串。可以使用负数来从字符串的末尾进行截取。
-
语法
let newStr = string.slice(start, end);
-
实例
var str = "abcdecf"; var s = str.slice(1, 3); // "bc" console.log(s);
-
注意
- 支持负值,表示从字符串的尾部开始截取。
- 不允许逆向截取。
-
-
substring()
-
作用:类似于
slice()
,但是如果start
大于end
,会交换它们的位置。 -
语法
let newStr = string.substring(start, end);
-
实例
var str = "abcdecf"; var s = str.substring(2, 4); // "cd" console.log(s);
-
注意
- 支持逆向截取(交换
start
和end
)。 - 不支持负值。
- 支持逆向截取(交换
-
-
substr()
-
作用:从指定位置开始,截取指定长度的字符串。
-
语法
let newStr = string.substr(start, length);
-
实例
var str = "abcdecf"; var s = str.substr(-2, 5); // "ecf" console.log(s);
-
注意
:
- 支持负值,表示从字符串尾部开始。
- 不允许逆向截取。
- 如果
length
超过实际可截取的字符数,默认截取到字符串的末尾。
-
4. 字符填充
-
padStart()
-
作用:在字符串的开头填充指定字符,直到达到指定长度。
-
语法
let newStr = string.padStart(targetLength, padString);
-
实例
const str = '345'; console.log(str.padStart(2)); // '345' console.log(str.padStart(4)); // ' 345' console.log(str.padStart(4, '12')); // '1345' console.log(str.padStart(5, '12')); // '12345' console.log(str.padStart(8, '12')); // '12121345'
-
-
padEnd()
-
作用:与
padStart()
类似,用于在字符串的末尾填充指定字符,直到达到指定长度。 -
语法
let newStr = string.padEnd(targetLength, padString);
-
5. 字符拼接
-
concat()
-
作用:连接两个或多个字符串,效果等同于拼接符
+
。 -
语法
let newStr = string1.concat(string2);
-
实例
var str = "abc"; var str1 = "def"; var str2 = str.concat(str1); // "abcdef" console.log(str2);
-
注意:
str2 = str.concat(str1)
等同于str2 = str + str1
。
-
6. 字符分割
-
split()
-
作用:将字符串根据指定分隔符分割成一个数组。
-
语法
let arr = string.split(separator);
-
实例
var str = "a,b,c,d,e,f"; var arr = str.split(","); // ["a", "b", "c", "d", "e", "f"] console.log(arr);
-
注意
-
当分隔符为空字符串 “” 时,默认按字符进行分割:
var str = "hello"; var arr = str.split(''); // ["h", "e", "l", "l", "o"] console.log(arr);
-
-
7. 字符反转
-
reverse()
-
作用:反转数组的方法,可以将其改造成字符串方法。
-
语法
let reversedStr = string.split("").reverse().join("");
-
实例
var str = "abcdefg"; var reversedStr = str.split("").reverse().join(""); // "gfedcba" console.log(reversedStr);
-
8. Unicode 转换
-
String.fromCharCode()
-
作用:将 Unicode 编码转为对应的字符。
-
语法
let char = String.fromCharCode(codePoint);
-
实例
var n = String.fromCharCode(65); // "A" (Unicode 65 对应字母 A) console.log(n); // "A"
-
9. 字符大小写转换
-
toUpperCase()
-
作用:将字符串中的小写字母转换成大写字母。
-
语法
let upperStr = string.toUpperCase();
-
实例
console.log("abc".toUpperCase()); // "ABC"
-
-
toLowerCase()
-
作用:将字符串中的大写字母转换成小写字母。
-
语法
let lowerStr = string.toLowerCase();
-
实例
console.log("ABC".toLowerCase()); // "abc"
-