字符串常用方法
-
獲取字符串長(zhǎng)度
str.length:返回字符串長(zhǎng)度-
格式:
let str = "cbcdef"; console.log(str.length); //打印 6
-
字符串索引
str.charAt(下標(biāo)):輸出字符串中該下標(biāo)的字符-
格式:
let str = "cbcdef"; // console.log(str[5]); //高級(jí)瀏覽器才支持str[] console.log(str.charAt(5)); //打印 f
-
尋找字符串字符位置
str.indexOf(字符):從前往后尋找字符返回位置,找不到返回-1str.lastIndexOf(字符):從后往前尋找字符返回位置,找不到返回-1-
格式:
let str = "cbcdef"; console.log(str.indexOf("c")); //打印 0 console.log(str.lastIndexOf("c")); //打印 2
-
判斷字符串是否包含某個(gè)字符
str.includes(字符):判斷字符串中是否包含某個(gè)字符,返回true或false-
格式:
let str = "cbcdef"; //是否包含某個(gè)元素 console.log(str.includes("p")); //打印 false
-
字符串拼接
str1.concat(str2):將字符串2拼接到字符串1后str1 + str2:將字符串2拼接到字符串1后-
格式:
let str1 = "nhw"; let str2 = "123"; // let str3 = str1.concat(str2); let str3 = str1 + str2; //推薦使用 console.log(str3); //打印 nhw123
-
截取子串
-
slice(起始位置,結(jié)束位置):截取子串但不包括結(jié)束位置(用于數(shù)組)-
注意:
- 若出現(xiàn)負(fù)數(shù),則從字符串結(jié)束位置算
- 若省略第二個(gè)參數(shù)則從開始位置截取到末尾
-
格式:
let str = "cbcdef"; let subStr = str.slice(1, 3); console.log(subStr); //打印 bc
-
-
substring(起始位置,結(jié)束位置):截取子串但不包括結(jié)束位置-
注意:
- 若出現(xiàn)負(fù)數(shù),將所有的負(fù)參數(shù)轉(zhuǎn)化為0
- 若起始位置>結(jié)束位置,則選小的作為起始位置
- 若省略第二個(gè)參數(shù)則從開始位置截取到末尾
-
格式:
let str = "cbcdef"; let subStr = str.substring(3, -1); console.log(subStr); //打印 cbc
-
-
substr(起始位置,截取個(gè)數(shù))-
注意:
- 第二個(gè)參數(shù)不接受負(fù)數(shù),否則返回空
- 若省略第二個(gè)參數(shù)則從開始位置截取到末尾
-
格式:
let str = "cbcdef"; let subStr = str.substr(-3, 2); console.log(subStr); //打印 de
-
-
字符串切割(將字符串轉(zhuǎn)變?yōu)閿?shù)組)
str.split(分隔符):將字符串以分隔符切斷轉(zhuǎn)換為數(shù)組-
格式:
let str = "1-3-5"; let arr = str.split("-"); console.log(arr); //打印Array(3)
-
判斷是否以指定字符串開頭
str.startsWith(子串):判斷是否以指定字符串開頭,返回true或false-
格式:
let str = "nhw123"; let result = str.startsWith("nhw"); console.log(result); //打印 true
-
判斷是否以指定字符串結(jié)尾
str.endsWith(子串):判斷是否以指定字符串結(jié)尾,返回true或false-
格式:
let str = "nhw123"; let result = str.endsWith("123"); console.log(result); //打印 false
-
字符串模板(ES6)
注意:解決了字符串拼接時(shí)用+的冗余性
-
格式:用反引號(hào)將字符串
let name = "nhw"; let age = 18; //let str = "我是" + name + ",我的年齡是" + age; let str = `我是${name},我的年齡是${age}`; console.log(str); //打印 我是nhw,我的年齡是18// let str = "<ul>\n" + // " <li>我是第1個(gè)li</li>\n" + // " <li>我是第2個(gè)li</li>\n" + // " <li>我是第3個(gè)li</li>\n" + // "</ul>" let str = `<ul> <li>我是第1個(gè)li</li> <li>我是第2個(gè)li</li> <li>我是第3個(gè)li</li> </ul>` console.log(typeof str); // 打印 string
-
字符串替換
str.replace(需要替換的字符/正則表達(dá)式,替換的字符):用一些字符替換另一些字符,或替換一個(gè)與正則表達(dá)式匹配的子串-
格式:
let str = "abcd"; let newStr = str.replace("a", "b"); console.log(newStr); //打印 bbcd