JavaScript中字符串作為基本類型舍杜,它為我們提供了很多好用的API新娜,本期就來總結(jié)一下一些常見的字符串方法吧
字符串的方法按照功能來劃分,可分為增刪改查四個部分
寫在前面:了解一個方法既绩,我們可以通過三個方面概龄,1.方法的用途 2.參數(shù) 3.返回值
本文介紹的所有字符串方法,都是會新建一個字符串不會改變原有的字符串
一饲握、拼接或截取字符串
1.str.concat():用于將一個或多個字符串拼接起來私杜,返回拼接后的新字符串
參數(shù):可以有多個,用來拼接到str上的字符串
letstr='hello';
console.log(str.concat(' ','world'))//'hello world'
說明:此方法效率并不高救欧,用“+”或者``模板字符串代替比較好
2.str.slice():此方法用來提取一個字符串衰粹,并返回一個新的字符串
參數(shù):1)beginIndex,表示從該索引處開始提取字符串的字符(包括)笆怠,如果為負(fù)數(shù)則從后開始計算
? ? ? ? ? ? 2)endIndex铝耻,表示從該索引處結(jié)束提取字符串(不包括),如果省略則一直提取到字符串末尾骑疆,如果為負(fù)數(shù)從后開始計算
letstr='hello world';
console.log(str.slice(6))//'world'
console.log(str.slice(-5,-3))//'wo'
?
3.str.substring():此方法和slice方法功能相同都是提取一個字符串田篇,并返回提取到的字符串
參數(shù):1)startIndex,表示從該索引處開始提取字符串的字符(包括)
? ? ? ? ? ? 2)endIndex,表示從該索引處結(jié)束提取字符串(不包括)
? ? ? ? ? ? 3)上述兩個參數(shù):如果為負(fù)數(shù)或者NaN則都會被當(dāng)做0箍铭,如果大于字符串的長度則會被當(dāng)做字符串的長度來計算泊柬,如果 startIndex 大于 endIndex,則 substring 的執(zhí)行效果就像兩個參數(shù)調(diào)換了一樣
letstr='hello world';
console.log(str.substring(-1,5))//'hello'
console.log(str.substring(5,-1))//'hello'
二诈火、刪除字符串
str.trim():刪除一個字符串兩端的空白字符兽赁,并返回刪除后的新字符串,不會改變原有字符串
三冷守、改變字符串
1.str.toLowerCase():此方法沒有參數(shù)刀崖,會將調(diào)用該方法的字符串值轉(zhuǎn)為小寫形式,并返回
2.str.toUpperCase():此方法沒有參數(shù)拍摇,會將調(diào)用該方法的字符串值轉(zhuǎn)為大寫形式亮钦,并返回
3.str.replace():可以將一個替換值替換字符串的一部分,返回替換后的新字符串
參數(shù):1)一個字符串中要被替換的子字符串或者正則表達(dá)式充活,默認(rèn)值替換第一個蜂莉,可以在正則表達(dá)式中設(shè)置全局模式蜡娶,來替換所有匹配的子字符串
? ? ? ? ? ? 2)一個替換值
letstr='hello world';
console.log(str.replace(/o/g,"f"))//"hellf wfrld"
4.str.split():可以使用一個指定的分隔符來將字符串拆分成數(shù)組,返回一個數(shù)組
參數(shù):1)分隔符映穗,可以為一個字符串也可以為正則表達(dá)式窖张,為空的話則將每個字符都拆分。默認(rèn)全局拆分
? ? ? ? ? ? 2)拆分的長度(可選)蚁滋,為一個整數(shù)用來限制拆分的個數(shù)宿接,如果超過了這個數(shù)量則新數(shù)組中不返回剩下的文本
letstr='hello world';
console.log(str.split(" "))//["hello", "world"]
四、查詢字符串
1.str.charAt():從一個字符串中返回指定的字符
參數(shù):index辕录,介于0~length-1之間的整數(shù)睦霎,默認(rèn)為0
letstr='hello world';
console.log(str.charAt(1))//'e'
2.str.includes():判斷字符串中是否包含指定字符,包含則返回true踏拜,不包含則返回false
參數(shù):subStr碎赢,指定的字符串
letstr='hello world';
console.log(str.includes('hello'))//true
console.log(str.includes('fire'))//flase
3.str.indexOf():判斷字符串中是否包含指定字符,如果包含則返回該字符索引的位置(查找到了立即返回)速梗,如果不包含則返回-1
參數(shù):subStr肮塞,指定的字符串
letstr='hello world';
console.log(str.indexOf('world'))//6
console.log(str.indexOf('fire'))//-1
4.str.lastIndexOf():用法和indexOf基本相同,區(qū)別是lastIndexOf()是從后往前查找
5.str.search():使用正則表達(dá)式查找指定字符串姻锁,如果找到則返回首次匹配成功的索引枕赵,沒有找到則返回-1
參數(shù):一個正則表達(dá)式,如果傳入一個非正則表達(dá)式則會隱式的將其轉(zhuǎn)換為正則表達(dá)式對象
letstr='hello world';
console.log(str.search('world'))//6
console.log(str.search(/w/))//6
6.str.match():返回一個字符串匹配正則表達(dá)式的結(jié)果,如果未設(shè)置全局匹配位隶,則會返回第一個完整匹配及其相關(guān)的捕獲組拷窜,捕獲組中包含有g(shù)roups、index涧黄、input等屬性篮昧。
參數(shù):一個正則表達(dá)式,如果傳入一個非正則表達(dá)式則會隱式的將其轉(zhuǎn)換為正則表達(dá)式對象
letstr='hello world';
console.log(str.match(/l/))//["l", index: 2, input: "hello world", groups: undefined]
console.log(str.match(/l/g))//["l", "l", "l"]
好了笋妥,以上就是本期內(nèi)容啦懊昨,如果對你有幫助的話,請幫忙點個贊吧4盒=桶洹!