首頁 >web前端 >前端問答 >javascript截取字串的方法有哪些

javascript截取字串的方法有哪些

青灯夜游
青灯夜游原創
2021-07-20 16:04:5010856瀏覽

javascript截取字串的方法:1、使用substr()方法,可以根據指定長度來截取子字串;2、使用slice()方法,根據指定的起止下標位置來截取字串;3、使用substring()方法,根據指定的起止下標位置來截取字串。

javascript截取字串的方法有哪些

本教學操作環境:windows7系統、javascript1.8.5版、Dell G3電腦。

javascript截取字串的方法有3種:

  • #slice() :抽出一個子字串   

  • ##substr() :抽出一個子字串   

  • substring():傳回字串的子字串   

其中,substr () 方法能夠根據指定長度來截斷子字串,而slice() 和 substring() 方法都是根據指定的起止下標位置來截取字串。下面來跟大家具體介紹一下。

截取指定長度字串

substr() 方法能夠根據指定長度來截取子字串。它包含兩個參數,第一個參數表示準備截取的子字串起始下標,第二個參數表示截取的長度。

範例1

在下面範例中使用lastIndexOf() 取得字串的最後一個點號的下標位置,然後從其後的位置開始截取4個字元。

var s = "http://c.biancheng.net/index.html";
var b = s.substr(s.lastIndexOf(".") + 1,4);  //截取最后一个点号后4个字符
console.log(b);  //返回子字符串“html”

如果省略第二個參數,則表示截取從起始位置開始到結尾的所有字元。考慮到擴展名的長度不固定,省略第二個參數會更靈活。

var b = s.substr(s.lastIndexOf(".") + 1);

如果第一個參數為負值,則表示從字串的尾部開始計算下標位置,即 -1表示最後一個字符,-2 表示倒數第二個字符,以此類推。這對於左側字元長度不固定時非常有用。

ECMAScript 不再建議使用該方法,建議使用 slice() 和 substring() 方法。

截取起止下標位置字串

#slice() 和substring() 方法都是根據指定的起止下標位置來截取字串,它們都可以包含兩個參數,第一個參數表示起始下標,第二個參數表示結束下標。

範例2

下面程式碼使用 substring() 方法截取 URL 字串中網站主機名稱資訊。

var s  = "http://c.biancheng.net/index.html";
var a = s.indexOf("c");
var b = s.indexOf("/", a);
var c = s.substring(a,b);
var d = s.slice(a,b);
  • 截取的字串包含第一個參數所指定的字元。結束點不被截取,即不包含在字串。

  • 第二個參數如果省略,則表示截取到結尾的所有字串。

如果第一個參數值比第二個參數值大,substring() 方法能夠在執行截取之前先交換兩個參數,而對於slice() 方法來說,則被無視為無效,並傳回空字串。

範例3

下面程式碼比較 substring() 方法和 slice() 方法用法不同。

var s = "http://c.biancheng.net/index.html";
var a = s.indexOf("c");
var b = s.indexOf("/", a);
var c = s.substring(b, a);
var d = s.slice(b, a);
  • 當起始點和結束點的值大小無法確定時,使用 substring() 方法更適合。

  • 如果參數值為負值,slice() 方法能夠把負號解釋為從右側開始定位,這與 Array 的 slice() 方法相同。但是 substring() 方法會視其為無效,並傳回空字串。

範例4

下面程式碼比較 substring() 方法和 slice() 方法的用法不同。

var s = "http://c.biancheng.net/index.html";
var a = s.indexOf("c");
var b = s.indexOf("/", a);
var 1 = s.length;
var c = s.substring(a-1, b-1);
var d = s.slice(a-1, b-1);

【推薦學習:javascript進階教學

以上是javascript截取字串的方法有哪些的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn