JavaScript中字符串的常用方法總結

1.字符串長度

length 屬性返回字符串的長度:

var str = "字符串常用方法總結-東東吖";
str.length;  //13

2.查找字符串中的位置

有三種查找字符串中的位置:

  • indexOf()
  • lastIndexOf()
  • search()

indexOf()

indexOf() 方法返回字符串中指定文本首次出現的索引(從0開始),如果沒有則為-1,可以設置第二個參數,假如第二個參數是 10,則從位置 10 開始檢索,直到字符串的起點。

var str = "字符串常用方法總結-東東吖";
str.indexOf('東')  //10
str.indexOf('東',11)  //11
str.indexOf('東東') //10
str.indexOf('方法')  //5
str.indexOf('前')  //-1

lastIndexOf()

lastIndexOf() 方法返回指定文本在字符串中最後一次出現的索引(從尾到頭),如果沒有則為-1。可以設置第二個參數,假如第二個參數是 10,則從位置 10 開始檢索,直到字符串的起點。(這裡需認真理解最後一次的概念)

var str = "字符串常用方法總結-東東吖";
str.lastIndexOf('總')     //7
str.lastIndexOf('吖')    //12
str.lastIndexOf('東')    //11
str.lastIndexOf('東',10)  //10
str.lastIndexOf('東東')  //10
str.indexOf('前')       //-1

search()

search() 方法搜索特定值的字符串,並返回匹配的位置:

var str = "字符串常用方法總結-東東吖";
str.search('方') //5
str.search('東') //10
str.search('東東') //10

您註意到瞭嗎?

兩種方法,indexOf() 與 search(),是相等的。

這兩種方法是不相等的。區別在於:

  • search() 方法無法設置第二個開始位置參數。
  • indexOf() 方法無法設置更強大的搜索值(正則表達式)

3.提取部分字符串

有三種提取部分字符串的方法:

  • slice(start, end)
  • substring(start, end)
  • substr(start, length)

substring()和substr()記憶方法:有ing尾巴的使用尾巴,沒尾巴的使用長度。

slice()

slice() 提取字符串的某個部分並在新字符串中返回被提取的部分。

該方法設置兩個參數:起始索引(開始位置),終止索引(結束位置)

var str = "Apple, Banana, Mango";
str.slice(0,8);  // 'Apple, B'   註意此處空格也占一個位置

如果某個參數為負,則從字符串的結尾開始計數。

這個例子裁剪字符串中位置 -12 到位置 -6 的片段:

var str = "Apple, Banana, Mango";
str.slice(-13,-7);  //'Banana'

如果省略第二個參數,則該方法將裁剪字符串的剩餘部分:

var str = "Apple, Banana, Mango";
str.slice(7);     //'Banana, Mango'
str.slice(-13);   //'Banana, Mango'

substring()

substring() 類似於 slice()

不同之處在於substring() 無法接受負的索引,同樣可以省略第二個參數。

var str = "Apple, Banana, Mango";
 str.substring(7,13);  //'Banana'
 str.substring(7); //'Banana, Mango'

substr()

substr() 類似於 slice()

不同之處在於第二個參數規定被提取部分的長度,同樣可以省略第二個參數、如果首個參數為負,則從字符串的結尾計算位置。

var str = "Apple, Banana, Mango";
str.substr(7,6);  //'Banana'
str.substr(7);   //'Banana, Mango'
str.substr(-5);  //'Mango'

4.替換字符串內容

  • replace() 方法用另一個值替換在字符串中指定的值
  • replace() 方法不會改變調用它的字符串。它返回的是新字符串
  • replace() 默認隻替換首個匹配
  • 如需替換所有匹配,請使用正則表達式的 /str/g 標志(用於全局搜索):
  • 如需執行大小寫不敏感的替換,請使用正則表達式/str/i(大小寫不敏感):
var str ='我叫東東吖,我是一名前端工程師!';
str.replace("前","後");   // "我叫東東吖,我是一名後端工程師!"
str.replace("東","西");   //"我叫西東吖,我是一名前端工程師!"

var str = "Please visit Microsoft!";
str.replace(/MICROSOFT/i, "W3School");    // "Please visit W3School!" 

5.轉換為大寫和小寫

通過 toUpperCase() 把字符串轉換為大寫

通過 toLowerCase() 把字符串轉換為小寫

var str ="abc"; 
str.toUpperCase();    // "ABC" 

var str ="CBD";
str.toLowerCase();    //"cbd" 

6.連接字符串

concat() 連接兩個或多個字符串:

var text = "Hello" + " " + "World!";
var text = "Hello".concat(" ","World!");

所有字符串方法都會返回新字符串。它們不會修改原始字符串。

正式地說:字符串是不可變的:字符串不能更改,隻能替換。

7.刪除字符串兩端的空白符

trim() 方法刪除字符串兩端的空白符:

var str = "       Hello Worl d!        ";
str.trim();      // "Hello World!"

8.提取字符串字符

這是兩個提取字符串字符的安全方法:

  • charAt() 方法返回字符串中指定下標(位置)的字符串:
  • charCodeAt() 方法返回字符串中指定索引的字符 unicode 編碼:
var str = "HELLO WORLD";
str.charAt(0);         //  H
str.charCodeAt(0);     // 72

到此這篇關於JavaScript中字符串的常用方法總結的文章就介紹到這瞭,更多相關JavaScript字符串內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀: