本文翻译自 13 Most Common JavaScript String Methods You Should Know About,作者:Shefali, 略有删改。
在JavaScript中提供了一组丰富的方法来操作和处理字符串。在这篇文章中,我将向您介绍13个最常用的JavaScript字符串方法及其功能。
String length
如果你想找到一个字符串中的字符数,那么你可以使用length属性。
const str = "This is a string.";
const lengthOfStr = str.length;
console.log(lengthOfStr); // Output: 17
这也计算了空格的长度。
String toUpperCase()
如果你想把一个字符串转换成大写字符串,那么你可以使用toUpperCase()方法。
const str = "This is a string.";
const uppercaseStr = str.toUpperCase();
console.log(uppercaseStr); // Output: THIS IS A STRING.
String toLowerCase()
如果你想把一个字符串转换成小写字符串,那么你可以使用toLowerCase()方法。
const str = "This Is a String.";
const lowercaseStr = str.toLowerCase();
console.log(lowercaseStr); // Output: this is a string.
String indexOf()
如果你想在一个字符串中找到一个子字符的第一次出现位置,那么你可以使用indexOf()方法。
const str = "This is a js string and js string is nice.";
const indexOfJs = str.indexOf("js");
console.log(indexOfJs); // Output: 10
String lastIndexOf()
如果你想在一个字符串中找到一个子字符的最后一次出现,那么你可以使用lastIndexOf()方法。
const str = "This is a js string and js string is nice.";
const lastIndexOfJs = str.lastIndexOf("js");
console.log(lastIndexOfJs); // Output: 24
String slice()
如果你想提取字符串的一部分,那么你可以使用slice()方法。这将以新字符串的形式返回提取的部分。
语法:
string.slice(start position, end position);
将不包括结束位置。
//Example:1
const str1 = "This is a string.";
const slicedStr1 = str1.slice(0, 7);
console.log(slicedStr1); // Output: This is
//Example:2
const str2 = "This is a string.";
const slicedStr2 = str2.slice(3, 9);
console.log(slicedStr2); // Output: s is a
如果你没有指定结束位置,那么这将切出字符串的其余部分。
const str = "This is a string.";
const slicedStr = str.slice(5);
console.log(slicedStr); // Output: is a string.
也可以给予参数为负数。
const str = "This is a string.";
const slicedStr = str.slice(-3, -1);
console.log(slicedStr); // Output: ng
简单一点你可以这样理解负数为参考的情况:
str.slice(-3, -1);
str.slice(str.length-3, str.length-1);
str.slice(17-3, 17-1);
str.slice(14, 16);
String substring()
substring()方法类似于slice()方法,但不同的是,如果你给它负参数,那么它们将被视为0。
const str = "This is a string.";
const slicedStr = str.substring(-3, 5);
console.log(slicedStr); // Output: This
String substr()
substr()方法类似于slice()方法,但不同之处在于end参数是要提取的字符的长度。
const str = "This is a string.";
// 这里代表从索引11开始提取4个字符
const slicedStr = str.substr(11, 4);
console.log(slicedStr); // Output: trin
String charAt()
如果你想在一个字符串中获得一个指定索引的字符,那么你可以使用charAt()方法。
const str = "This is a string.";
const character = str.charAt(13);
console.log(character); // Output: i
String concat()
如果你想连接两个或多个字符串,那么你可以使用concat()方法。
const firstName = "John";
const lastName = "Doe";
const fullName = firstName.concat(" ", lastName);
console.log(fullName); // Output: John Doe
String trim()
您可以使用trim()方法从字符串的两端删除空格字符。
const str = " This is a string. ";
const trimmedStr = str.trim();
console.log(trimmedStr); // Output: This is a string.
String replace()
如果你想用另一个字符串替换一个指定的子字符串,那么你可以使用replace()方法。
const str = "JavaScript is amazing!";
const replacedStr = str.replace("amazing", "awesome");
console.log(replacedStr); // Output: JavaScript is awesome!
String split()
你可以使用split()方法将字符串转换为数组。
const str1 = "JavaScript is amazing!";
const arr1 = str1.split();
console.log(arr1); // Output: ['JavaScript is amazing!']
//Example:2
const str2 = "JavaScript is amazing!";
const arr2 = str2.split(" ");
console.log(arr2); // Output: ['JavaScript', 'is', 'amazing!']