更新時間:2020-10-23 17:59:34 來源:動力節點 瀏覽1293次
字符串的截取在不同的編程語言中有著不同的方式和表現形式,本文我們就一起來學習在JavaScript截取字符串。
在JavaScript中常用的字符截取函數有slice()、substring()、substr()3個,我們將從這三個函數出發,看看在JavaScript中,這些函數是如何通過JavaScript截取字符串的。
下面是這三個JavaScript截取字符串方式:
1.slice()
第一個參數代表開始位置,第二個參數代表結束位置的下一個位置,截取出來的字符串的長度為第二個參數與第一個參數之間的差;若參數值為負數,則將該值加上字符串長度后轉為正值;若第一個參數等于大于第二個參數,則返回空字符串。
2.substring()
第一個參數代表開始位置,第二個參數代表結束位置的下一個位置;若參數值為負數,則將該值轉為0;兩個參數中,取較小值作為開始位置,截取出來的字符串的長度為較大值與較小值之間的差。
3.substr()
第一個參數代表開始位置,第二個參數代表截取的長度
PS:字符串都從0開始計起
例子:
substr 和 substring方法的區別
函數:split()
功能:使用一個指定的分隔符把一個字符串分割存儲到數組
例子:
str=”jpg|bmp|gif|ico|png”;
arr=theString.split(”|”);
//arr是一個包含字符值”jpg”、”bmp”、”gif”、”ico”和”png”的數組
函數:John()
功能:使用您選擇的分隔符將一個數組合并為一個字符串
例子:
var delimitedString=myArray.join(delimiter);
var myList=new Array(”jpg”,”bmp”,”gif”,”ico”,”png”);
var portableList=myList.join(”|”);
//結果是jpg|bmp|gif|ico|png
函數:indexOf()
功能:返回字符串中匹配子串的第一個字符的下標
var myString=”JavaScript”;
var w=myString.indexOf(”v”);w will be 2
var x=myString.indexOf(”S”);x will be 4
var y=myString.indexOf(”Script”);y will also be 4
var z=myString.indexOf(”key”);z will be -1
在網上看到另一種非常簡單的方法,代碼如下:
function func(s, n) {
return s.replace(/([^x00-xff])/g, "$1a").slice(0, n).replace(/([^x00-xff])a/g, "$1");
}
這個方法非常巧妙,而且基本上是正確的。說“基本上”是因為它在取“123漢字測試”左邊長度為 6 的子串時,它返回的是“123漢字”,而不是“123漢”。當然,這也并不一定就是問題,某些情況下需求可能就是這樣。這個方法還可以再改進一下,如下:
function func(s, n) {
return s.slice(0, n).replace(/([^x00-xff])/g, "$1a").slice(0, n).replace(/([^x00-xff])a/g, "$1");
}
總的來說,相對于其他編程語言而言,JavaScript截取字符串是通過函數的方法更為直接簡單,當然我們也可以直接調用函數截取字符串。在本站的Java零基礎教程中,我們也可以根據本文的內容拓展學習Java截取字符串的方法。
0基礎 0學費 15天面授
有基礎 直達就業
業余時間 高薪轉行
工作1~3年,加薪神器
工作3~5年,晉升架構
提交申請后,顧問老師會電話與您溝通安排學習