您好,登錄后才能下訂單哦!
這篇文章主要講解了“javascript有哪些截取字符串的方法”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“javascript有哪些截取字符串的方法”吧!
javascript截取字符串的方法:1、使用substr()方法,可以根據指定長度來截取子字符串;2、使用slice()方法,根據指定的起止下標位置來截取字符串;3、使用substring()方法,根據指定的起止下標位置來截取字符串。
本教程操作環境: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有哪些截取字符串的方法這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。