JavaScript擷取字串方式總結
應用中,經常會遇到擷取字串的需求。
實現此功能的方式有多種,JavaScript本身提供了這樣的方法,當然也可以通過自定義實現。
下面就對常用的方式做一下簡單介紹,需要的朋友可以進行一下參考。
一.substring方法:
此方法可以擷取介於指定索引之間的字元。
更多關於此方法內容參閱JavaScript substring()一章節。
語法結構:
[JavaScript] 純文字檢視 複製程式碼stringObject.substring(start,stop)
引數解析:
(1).start:必需,非負的整數,規定要提取的子串的第一個字元在 stringObject 中的位置。
(2).stop:可選,非負的整數,此數字位置的字元不包括在提取之內。如果省略該引數,返回的子串會一直到字串的結尾。
返回值是一個新生成的字串,內容是源字串中從start處到 stop-1處的子字串。
特別說明:
(1).返回的子串包括 start 處的字元,但不包括 end 處的字元。
(2).如果start 與 end相等,那麼該方法返回的就是一個空串(即長度為0的字串)。
(3).如果start比end大,那麼該方法在提取子串之前會先交換這兩個引數。
(4).如果start或end為負數,那麼它將被替換為 0。
(5).如果start值大於字串的最大索引,那麼返回值是空字串,也就是長度是0。
程式碼例項:
[JavaScript] 純文字檢視 複製程式碼執行程式碼var str = "softwhy.com"; console.log(str.substring(0)); console.log(str.substring(5)); console.log(str.substring(10)); console.log(str.substring(12)); console.log(str.substring(-5)); console.log(str.substring(-10)); console.log(str.substring(-12)); console.log(str.substring(0,5)); console.log(str.substring(0,10)); console.log(str.substring(0,12)); console.log(str.substring(2,0)); console.log(str.substring(2,2)); console.log(str.substring(2,5)); console.log(str.substring(2,12)); console.log(str.substring(2,-2)); console.log(str.substring(-1,5)); console.log(str.substring(-1,-5));
二.substr方法:
此方法可以從原來字串中返回從指定索引開始,指定長度的子字串。
當然返回值也是一個新的字串。
更多關於此方法內容參閱JavaScript substr()一章節。
語法結構:
[JavaScript] 純文字檢視 複製程式碼stringObject.substr(start [, length ])
引數解析:
(1).start:必需,所需的子字串的起始位置。字串中的第一個字元的索引為0。
(2).length:可選,在返回的子字串中應包括的字元個數。
特別說明:
(1).如果 length 為 0 或負數,將返回一個空字串。
(2).如果沒有指定該引數,則子字串將延續到stringObject的最後。
程式碼例項:
[JavaScript] 純文字檢視 複製程式碼執行程式碼var str = "softwhy.com"; console.log(str.substr(0)); console.log(str.substr(2)); console.log(str.substr(3,4));
三.自定義方法:
自定義方法的方式有很多,下面分享一個比較好的程式碼:
[JavaScript] 純文字檢視 複製程式碼執行程式碼var str = "螞蟻部落的網址是softwhy.com"; function subString(str, len, hasDot){ var newLength=0; var newStr=""; var chineseRegex=/[^\x00-\xff]/g; var singleChar=''; var strLength=str.replace(chineseRegex,'**').length; for(var i=0;i < strLength;i++){ singleChar=str.charAt(i).toString(); if(singleChar.match(chineseRegex) != null){ newLength+=2; } else{ newLength++; } if(newLength>len){ break; } newStr+=singleChar; } if(hasDot && strLength>len){ newStr+='...'; } return newStr; }; console.log(subString(str,24,true));
實現了擷取功能,並且功能很強大,能夠區分中英文,每一箇中文字元的長度為2,剩餘的字元用點表示。
相關閱讀:
(1).replace方法參閱JavaScript replace()一章節。
(2).charAt方法參閱JavaScript charAt()一章節。
(3).match方法參閱正規表示式 match()一章節。
相關文章
- MySQL 字串擷取相關函式總結MySql字串函式
- JavaScript 擷取指定指定區間字串JavaScript字串
- 字串擷取字串
- JavaScript 擷取字串JavaScript字串
- Javascript之字串擷取函式slice()、substring()、substr()JavaScript字串函式
- JS切割擷取字串方法總結JS字串
- MySQL 字串函式:字串擷取MySql字串函式
- jQuery字串擷取詳解jQuery字串
- javascript中字串常用操作總結JavaScript字串
- php 擷取中英文混合字串PHP字串
- Linux下的字串擷取詳解Linux字串
- Shell中的字串擷取介紹字串
- shell 使用陣列及字串擷取陣列字串
- C#常用字串擷取C#字串
- Swift 4.0 字串擷取,拼接,字串富文字顯示Swift字串
- JavaScript 擷取指定長度字串 區分漢字和英文字元JavaScript字串字元
- 字串擷取 slice,substr,substring 的區別字串
- JavaScript 擷取字串右邊指定長度字元JavaScript字串字元
- sql常用函式詳解(一)——字串擷取SQL函式字串
- 擷取字串字串
- Java String類,字串常量池,建立方法,字串的獲取,擷取,轉換,分割。Java字串
- Golang 字串分割,替換和擷取 strings.SplitGolang字串
- JavaScript的字串、陣列以及DOM操作總結JavaScript字串陣列
- Android三種方式擷取任意介面螢幕Android
- Javascript 常見的迴圈方式總結JavaScript
- JavaScript字串API彙總JavaScript字串API
- SpringBoot獲取HttpServletRequest的3種方式總結Spring BootHTTPServlet
- /**擷取字串是方法*/字串
- js擷取JS
- python函式教程:Python 字串操作(string替換、擷取等)Python函式字串
- mysql 擷取指定的兩個字串之間的內容MySql字串
- postgresql怎麼擷取字串SQL字串
- 前端字型擷取前端
- js字串方法總結JS字串
- C++:字串總結C++字串
- JavaScript字串操作方法總結(含ES6方法)JavaScript字串
- 在Windows 10中擷取截圖的6種方式 簡介Windows
- 視訊直播:Windows中各類畫面源的擷取和合成方法總結Windows