前端面試中常考的字符串操作方法大全

對於JavaScript字符串操作方法,你真的全部掌握了嗎?來看看這篇面試中常考的字符串操作大全,包含最新的ES6字符串操作方法,值得收藏哦。

一、charAt()

返回在指定位置的字符。

var str="abc"
console.log(str.charAt(0))//a

二、charCodeAt()

返回在指定的位置的字符的 Unicode 編碼。

var str="abc"
 console.log(str.charCodeAt(1))//98

三、concat()

連接字符串。

 var a = "abc";  
 var b = "def";  
 var c = a.concat(b);
 console.log(c);//abcdef

四、indexOf()

檢索字符串。indexOf() 方法對大小寫敏感!

var str="Hello world!"
console.log(str.indexOf("Hello"))//0
console.log(str.indexOf("World"))//-1
console.log(str.indexOf("world"))///6

五、match()

match() 方法可在字符串內檢索指定的值,或找到一個或多個正則表達式的匹配。該方法類似 indexOf() 和 lastIndexOf(),但是它返回指定的值,而不是字符串的位置。

var str="1 abc 2 def 3"
console.log(str.match(/\d+/g))//123

六、replace()

replace() 方法用於在字符串中用一些字符替換另一些字符,或替換一個與正則表達式匹配的子串。

var str="abc Def!"
console.log(str.replace(/abc/, "CBA"))//CBA Def!

七、search()

search() 方法用於檢索字符串中指定的子字符串,或檢索與正則表達式相匹配的子字符串。要執行忽略大小寫的檢索,請追加標誌 i。如果沒有找到任何匹配的子串,則返回 -1。

var str="abc DEF!"
console.log(str.search(/DEF/))//4

八、slice()

提取字符串的片斷,並在新的字符串中返回被提取的部分。
stringObject.slice(start,end);
start :要抽取的片斷的起始下標。如果是負數,則該參數規定的是從字符串的尾部開始算起的位置。也就是說,-1 指字符串的最後一個字符,-2 指倒數第二個字符,以此類推。
end:緊接着要抽取的片段的結尾的下標。若未指定此參數,則要提取的子串包括 start 到原字符串結尾的字符串。如果該參數是負數,那麼它規定的是從字符串的尾部開始算起的位置。

var str="abc def ghk"
console.log(str.slice(6))//f ghk

九、split()

把字符串分割爲字符串數組。

var str="abc def ghi jkl"    
console.log(str.split(" "))//["abc", "def", "ghi", "jkl"]
console.log(str.split("") )//["a", "b", "c", " ", "d", "e", "f", " ", "g", "h", "i", " ", "j", "k", "l"]
console.log(str.split(" ",3))//["abc", "def", "ghi"]

十、toLocaleLowerCase()

把字符串轉換爲小寫。

var str="ABC def!"
console.log(str.toLocaleLowerCase())//abc def!

十一、toLocaleUpperCase()

把字符串轉換爲大寫。

var str="ABC def!"
console.log(str.toLocaleUpperCase())//ABC DEF!

十二、toLowerCase()

把字符串轉換爲小寫。

var str="ABC def!"
console.log(str.toLowerCase())//abc def!

十三、toUpperCase()

把字符串轉換爲大寫。

var str="ABC def!"
console.log(str.toUpperCase())//ABC DEF!

十四、substr()

從起始索引號提取字符串中指定數目的字符。
stringObject.substr(start,length)。
start:必需。要抽取的子串的起始下標。必須是數值。如果是負數,那麼該參數聲明從字符串的尾部開始算起的位置。也就是說,-1 指字符串中最後一個字符,-2 指倒數第二個字符,以此類推。
length:可選。子串中的字符數。必須是數值。如果省略了該參數,那麼返回從 stringObject 的開始位置到結尾的字串。

var str="abc def"
console.log(str.substr(2))//c def
console.log(str.substr(2,4))// c de 

十五、substring()

提取字符串中兩個指定的索引號之間的字符。
stringObject.substring(start,stop)。
start :必需。一個非負的整數,規定要提取的子串的第一個字符在 stringObject 中的位置。
stop :可選。一個非負的整數,比要提取的子串的最後一個字符在 stringObject 中的位置多 1。如果省略該參數,那麼返回的子串會一直到字符串的結尾。

var str="abc def"
console.log(str.substring(2))//c def
console.log(str.substring(2,4))// c 

相同點:如果只是寫一個參數,兩者的作用都一樣:都是是截取字符串從當前下標以後直到字符串最後的字符串片段。
substr(startIndex);
substring(startIndex);

var str = '123456789';
console.log(str.substr(2));    //  "3456789"
console.log(str.substring(2)) ;//  "3456789"

不同點:第二個參數
substr(startIndex,lenth): 第二個參數是截取字符串的長度(從起始點截取某個長度的字符串);
substring(startIndex, endIndex): 第二個參數是截取字符串最終的下標 (截取2個位置之間的字符串,‘含頭不含尾’)。

console.log("123456789".substr(2,5));    //  "34567"
console.log("123456789".substring(2,5)) ;//  "345"

ES6新增的操作字符串的方法

一、codePointAt()


let s = '
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章