今天準備整理出JS中字符串的相關(guān)知識哭靖,雖然已經(jīng)整理了思維導圖,但是還是自己在整理一篇具體知識點对碌,印象比較深刻
一:資料整理
二:知識點羅列(只要是API)
-
大小寫轉(zhuǎn)換
語法:toLowerCase(); msg.toUpperCase(); 舉例: var msg="Hello World" var msgLower=msg.toLowerCase(); var msgUpper=msg.toUpperCase(); console.log(msgLower);//hello world console.log(msgUpper);//HELLO WORLD
-
獲取指定位置的字符
語法: var char=str.charAt(i); var unicode=str.charCodeAt(i); 舉例: var msg="Hello World" console.log(msg.charAt(0));//返回H栅哀,獲取指定位置字符 console.log(msg.charCodeAt(1));//獲取指定位置会通,Unicode編碼
-
獲取子字符串
語法: slice(star,[end]);//支持負數(shù)參數(shù),含頭不含尾 substring(star,[end]);//不支持負數(shù)參數(shù)性雄,含頭不含尾 substr(starti,n)//起始位置没卸,個數(shù) 舉例: var msg="Hello World" console.log(msg.slice(0,3));//hel console.log(msg.substr(1,3));//ell console.log(msg.substring(1,3));//el
-
查找關(guān)鍵詞
1)查找一個固定關(guān)鍵詞出現(xiàn)的位置語法:str.indexOf("關(guān)鍵詞",fromi)//返回第一次出現(xiàn)子字符串的位置,從fromi位置秒旋,如果省略fromi表示办悟,從0位置開始。如果找不到滩褥,返回-1 str.lastIndexOf("關(guān)鍵詞",fromi)//返回最后一次出現(xiàn)子字符串的位置病蛉,從fromi位置,如果省略fromi表示瑰煎,從0位置開始铺然。如果找不到,返回-1 舉例:var msg="Hello World" console.log(msg.indexOf("ll"));//2 console.log(msg.lastIndexOf("o",3));//7 優(yōu)缺點: 優(yōu)點:可以指定開始位置酒甸,可以找所有 缺點:不支持正則魄健,一次只能找一種關(guān)鍵詞 2):判斷是否包含符合規(guī)則的關(guān)鍵詞 語法:var i=str.search(/正則表達式/)// 如果找到,返回關(guān)鍵詞的位置,如果找不到插勤,返回-1 優(yōu)點:支持正則 缺點:1)不能指定位置沽瘦,只能返回第一次出現(xiàn)的位置 2):只能返回位置革骨,不能返回關(guān)鍵詞內(nèi)容。 3):不支持g析恋,不能返回所有良哲。 3):獲取所有關(guān)鍵詞的內(nèi)容 語法:var kwards=str.match(/正則表達式/g)//找不到,返回Null,不加g只找到第一個助隧,加g才找到所有筑凫。 優(yōu)點:獲得所有關(guān)鍵詞的內(nèi)容 缺點:無法返回每個關(guān)鍵詞的位置 4):即獲得每個關(guān)鍵詞的內(nèi)容,又獲得每個關(guān)鍵詞的位置
替換
語法:
簡單替換:str=str.replace(/正則/ig,"替換值");
高級替換:如果希望根據(jù)關(guān)鍵詞的不同并村,替換不同的內(nèi)容時:
str=str.replace(/正則/ig,
function(kwd,$1,...){
return 根據(jù)kwd返回不同的值;
}
)
-
切割
簡單切割:var subs=str.split("分隔符") 復雜切割:var subs=str.split(/正則表達式/)