JavaScript中与字符串相关的方法有很多,以下是一些常用的方法及其示例:
- charAt(index): 返回指定位置的字符。
let str = "Hello"; console.log(str.charAt(1)); // 输出 "e"
- concat(string2, string3...): 连接两个或更多字符串,并返回新的字符串。
let str1 = "Hello"; let str2 = " World"; let str3 = str1.concat(str2); // 输出 "Hello World"
- includes(searchValue[, start]]): 判断一个字符串是否包含指定的子字符串,如果指定了开始位置,则从该位置开始搜索。
let str = "Hello, World!"; console.log(str.includes("World")); // 输出 true console.log(str.includes("JS")); // 输出 false console.log(str.includes("JS", 7)); // 输出 true
- indexOf(searchValue[, fromIndex]]): 返回指定字符串在字符串中首次出现的位置,如果没有找到则返回-1。与
includes
不同的是,如果未找到则返回-1,而且它允许指定开始搜索的位置。
let str = "Hello, World!"; console.log(str.indexOf("World")); // 输出 7 console.log(str.indexOf("JS")); // 输出 -1 console.log(str.indexOf("JS", 7)); // 输出 5
- lastIndexOf(searchValue[, fromIndex]]): 返回指定字符串在字符串中最后出现的位置,如果没有找到则返回-1。与
indexOf
不同的是,它从后向前搜索。
let str = "Hello, World! World"; console.log(str.lastIndexOf("World")); // 输出 13 console.log(str.lastIndexOf("JS")); // 输出 -1 console.log(str.lastIndexOf("JS", 7)); // 输出 -1
- match(regexp): 在字符串中执行正则表达式匹配,并返回匹配的数组。如果没有匹配项,则返回null
let str = "Hello, World!"; let regex = /World/g; console.log(str.match(regex)); // 输出 ["World", "World"]
- replace(searchValue, newContent): 在字符串中替换与正则表达式匹配的部分。如果只提供了一个参数,那么它只会替换第一个匹配项。
let str = "Hello, World!"; let regex = /World/g; console.log(str.replace(regex, "JavaScript")); // 输出 "Hello, JavaScript!"
- slice(startIndex, endIndex): 从字符串中提取一部分,并在新的字符串中返回被提取的部分。提取的是从
startIndex
到endIndex-1
的字符。如果省略endIndex
,则提取到字符串的末尾。如果提供的startIndex
或endIndex
是负数,则它们表示从字符串末尾开始的偏移量。
let str = "Hello, World!"; console.log(str.slice(7, 12)); // 输出 "World" console.log(str.slice(-5)); // 输出 "d!"
- split(separator[, limit]]): 把字符串分割为字符串数组。
separator
参数是要用于分割的子字符串或正则表达式,limit
参数是结果数组的最大长度。如果省略了separator
,则整个字符串都会被分割为单个字符。如果提供了limit
,并且分割后的字符串数组将超过这个限制,那么不是所有的分割都会被返回。如果没有提供limit
或其值大于0,那么不会限制数组的长度。如果没有提供separator
或其值为空,那么空字符串将被分割为单个空字符串组成的数组。如果separator
是正则表达式,那么它会返回一个数组,其中包含由匹配项组成的元素。每个元素都是一个字符串,不包括任何前导或尾随的空白字符(除非正则表达式中使用了全局标记g)。如果正则表达式不包含全局标记g,那么结果数组将只包含第一个匹配项。如果正则表达式包含全局标记g,那么结果数组将包含所有匹配项。如果正则表达式匹配到了空字符串,那么结果数组将包含一个空字符串。如果正则表达式匹配到了整个输入字符串,那么结果数组将只包含一个空字符串。 - toUpperCase():将字符串中的所有字符转换为大写。
let str = "Hello, World!"; console.log(str.toUpperCase()); // 输出 "HELLO, WORLD!"
- toLowerCase():将字符串中的所有字符转换为小写。
let str = "Hello, World!"; console.log(str.toLowerCase()); // 输出 "hello, world!"
- substring(index):提取字符串中两个指定的下标之间的字符。
let str = "Hello, World!"; console.log(str.substring(7, 12)); // 输出 "World"
- substr(index, length):从字符串中提取一个指定长度的子字符串,子字符串开始于指定位置。
let str = "Hello, World!"; console.log(str.substr(7, 5)); // 输出 "World"
- replace():在字符串中替换指定的字符或子字符串
let str = "Hello, World!"; console.log(str.replace("World", "JavaScript")); // 输出 "Hello, JavaScript!"
trim():删除字符串两端的空白字符
let str = " Hello, World! "; console.log(str.trim()); // 输出 "Hello, World!"
- split():根据指定的分隔符将字符串分割为子字符串数组。如果未提供分隔符,则整个字符串将被分割为单个字符数组。
let str = "Hello, World!"; console.log(str.split(',')); // 输出 ["Hello", " World!", ""]
- length属性:返回字符串的长度。
let str = "Hello, World!"; console.log(str.length); // 输出 13
- search()方法:执行一个正则表达式搜索,返回第一个匹配的索引位置,如果没有找到匹配项,则返回-1。
let str = "Hello, World!"; console.log(str.search(/World/)); // 输出 7