js 中string 常見方法

來源:互聯網
上載者:User

標籤: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()用於尾部補全

padStartpadEnd一共接受兩個參數,第一個參數用來指定字串的最小長度,第二個參數是用來補全的字串。

‘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 常見方法

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.