標籤:str ade tar 最小 nbsp operator poi end ons
1.charAt 返回指定索引出的字元 var str=‘abcd‘; var a=str.charAt(0); console.log(a); //‘a‘ console.log(str); //‘abcd‘ 2.charCodeAt 返回指定索引出的unicode字元
str.charCodeAt(0); //97
3.indexof 判斷一個字元第一次出現在某個字串的索引,如果包含返回它的索引,如果不包含返回-1.
str.indexOf(‘a‘); //0 str.indexOf(‘e‘); //-1
4.lastIndexOf 判斷一個字元最後一次出現在某個字串的索引,如果包含返回它的索引,如果不包含返回-1.
str.lastIndexOf(‘b‘); //1 str.lastIndexOf(‘e‘); //-1 5.concat拼接2個字串,返回一個新字串,對原有字串沒有任何改變。
var str=‘qwe‘; var str1=‘abc‘; var str2=str.concat(str1);
console.log(str2);//"qweabc"
6.substr(n,m) 從索引n開始,截取m個字元,將截取的字元返回,對原字串沒有任何改變。 var b=s.substr(1,1) console.log(b); //‘w‘
7.substring(n,m) 從索引n開始,截取到索引m,不包括m.將截取的字元返回,對原字串沒有任何改變.
var ee=str.substring(1,3); console.log(ee); //"bc"
8.slice(n,m) 從索引n開始,截取到索引m,不包括m.將截取的字元返回,對原字串沒有任何改變. var aa=str.slice(0,3); console.log(aa);//‘abc‘
9.split 用指定字元分割字串,返回一個數組.對原字串沒有任何改變。
var a=str.split(‘‘); console.log(a); //["a", "b", "c", "d"]
10.replace(‘a‘,1); 替換指定字元,返回替換後新的字串,對原有字串有改變。(第一個參數可以是Regex) 只能替換一次 ,配合正則模式修飾符g使用 var str=‘aaaaee‘; var reg=/a/g; str.replace(reg,1); //"1111ee" 11.match() 可在字串內檢索指定的值,或找到一個或多個Regex的匹配。把找到的字元放在數組裡,返回一個數組。
var str=‘aaaa3ed33‘; var reg=/a/g; str.match(reg); //["a", "a", "a", "a"]
12.search() 方法用於檢索字串中指定的子字串,或檢索與Regex相匹配的子字串。
es6新增加的方法
1.codePointAt() 能夠正確處理4個位元組儲存的字元,返回指定索引出一個字元的碼點。codePointAt方法是測試一個字元由兩個位元組還是由四個位元組組成的最簡單方法。
var s = ‘??a‘;
s.codePointAt(0) // 134071
s.codePointAt(1) // 57271
codePointAt
方法返回的是碼點的十進位值,如果想要十六進位的值,可以使用toString
方法轉換一下。
var s = ‘??a‘;s.codePointAt(0).toString(16) // "20bb7"s.codePointAt(2).toString(16) // "61"不能識別32位的UTF-16字元
配合for...of
迴圈使用,因為它會正確識別32位的UTF-16字元。
var s = ‘??a‘;for (let ch of s) { console.log(ch.codePointAt(0).toString(16));}// 20bb7// 61
2.codePointAt用於從碼點返回對應字元,但是這個方法不能識別32位的UTF-16字元(Unicode編號大於0xFFFF
)。
String.fromCodePoint(0x20BB7)// "??"String.fromCodePoint(0x78, 0x1f680, 0x79) === ‘x\uD83D\uDE80y‘// true
3.for..of 字串的遍曆器介面
for (let codePoint of ‘foo‘) { console.log(codePoint)}// "f"// "o"// "o"
4.at() 返回指定索引處的字元
‘abc‘.at(0) // "a"‘??‘.at(0) // "??"
5.includes():返回布爾值,表示是否找到了參數字串。這三個方法都支援第二個參數,表示開始搜尋的位置。
6.startsWith():返回布爾值,表示參數字串是否在源字串的頭部。這三個方法都支援第二個參數,表示開始搜尋的位置。
7.endsWith():返回布爾值,表示參數字串是否在源字串的尾部。這三個方法都支援第二個參數,表示開始搜尋的位置。
var s = ‘Hello world!‘;s.startsWith(‘world‘, 6) // trues.endsWith(‘Hello‘, 5) // trues.includes(‘Hello‘, 6) // false
8.repeat() 方法返回一個新字串,表示將原字串重複n
次。
‘x‘.repeat(3) // "xxx"‘hello‘.repeat(2) // "hellohello"‘na‘.repeat(0) // ""
9.padStart(),padEnd()字串補全長度的功能
padStart()用於頭部補全
padEnd()用於尾部補全
padStart
和padEnd
一共接受兩個參數,第一個參數用來指定字串的最小長度,第二個參數是用來補全的字串。
‘x‘.padStart(5, ‘ab‘) // ‘ababx‘‘x‘.padStart(4, ‘ab‘) // ‘abax‘‘x‘.padEnd(5, ‘ab‘) // ‘xabab‘‘x‘.padEnd(4, ‘ab‘) // ‘xaba‘
如果原字串的長度,等於或大於指定的最小長度,則返回原字串。
‘xxx‘.padStart(2, ‘ab‘) // ‘xxx‘‘xxx‘.padEnd(2, ‘ab‘) // ‘xxx‘
如果用來補全的字串與原字串,兩者的長度之和超過了指定的最小長度,則會截去超出位元的補全字串。
‘abc‘.padStart(10, ‘0123456789‘)
如果省略第二個參數,預設使用空格補全長度。
‘x‘.padStart(4) // ‘ x‘‘x‘.padEnd(4) // ‘x ‘
js 中string 常見方法