<kbd id="9plqc"><label id="9plqc"></label></kbd>

        <th id="9plqc"></th>
        1. <center id="9plqc"><video id="9plqc"></video></center>
          <sub id="9plqc"><form id="9plqc"><pre id="9plqc"></pre></form></sub>
          <nav id="9plqc"><form id="9plqc"><legend id="9plqc"></legend></form></nav>
          根據(jù)(字符 / 字節(jié))數(shù)分段截取字符串 您所在的位置:網站首頁 屬羊跟什么屬相做生意最配 根據(jù)(字符 / 字節(jié))數(shù)分段截取字符串

          根據(jù)(字符 / 字節(jié))數(shù)分段截取字符串

          2024-01-06 12:48| 來源: 網絡整理| 查看: 265

          一、JS字符串截取函數(shù)substring()、substr()、slice()的區(qū)別

          【1】substring()

          substring()方法返回一個索引和另一個索引之間的字符串,語法如下:

          str.substring(indexStart, [indexEnd])

          下面有七點需要注意:

          indexStart需要截取字符串的起始位置,從零開始; indexEnd需要截取字符串的結束位置,從零開始substring()截取從 indexStart 到 indexEnd 前一位的字符串,不包括 indexEnd如果為indexStart 等于indexEnd,substring()返回一個空字符串。如果indexEnd省略,則將substring()字符提取到字符串的末尾。如果任一參數(shù)小于0或是NaN,它被視為為0。如果任何一個參數(shù)都大于str.length,則被視為是str.length。如果indexStart大于indexEnd,那么效果substring()就好像這兩個論點被交換了一樣; 例如: str.substring(1, 0) == str.substring(0, 1)

          以下是一些示例代碼:

          let str = 'ABCDEFGHIJ'; console.log(str.substring(1, 2)); // 'B' console.log(str.substring(1, 1)); // '' console.log(str.substring(-3, 2)); // 'AB' console.log(str.substring(-3)); // 'ABCDEFGHIJ' console.log(str.substring(1)); // 'BCDEFGHIJ' console.log(str.substring(-20, 2)); // 'AB' console.log(str.substring(2, 20)); // 'CDEFGHIJ' console.log(str.substring(20, 2)); // 'CDEFGHIJ'

          【2】substr()

          substr()方法返回從指定位置開始的字符串中指定字符數(shù)的字符,語法如下:

          str.substr(start, [length])

          下面有五點需要注意:

          start 所需字符串的起始位置,從零開始; length在返回的字符串中應該包括的字符個數(shù)。substr()會從start獲取長度為length字符(如果截取到字符串的末尾,則會停止截取)。如果start是正的并且大于或等于字符串的長度,則substr()返回一個空字符串。若start為負數(shù),則將該值加上字符串長度后再進行計算(如果加上字符串的長度后還是負數(shù),則從0開始截取)。如果length為0或為負數(shù),substr()返回一個空字符串。如果length省略,則將substr()字符提取到字符串的末尾。

          以下是一些示例代碼:

          let str = 'ABCDEFGHIJ'; console.log(str.substr(1, 2)); // 'BC' console.log(str.substr(-3, 2)); // 'HI' console.log(str.substr(-3)); // 'HIJ' console.log(str.substr(1)); // 'BCDEFGHIJ' console.log(str.substr(-20, 2)); // 'AB' console.log(str.substr(20, 2)); // ''

          【3】slice()

          slice()方法返回一個索引和另一個索引之間的字符串,語法如下:

          str.slice(beginIndex, [endIndex])

          下面有四三點需要注意:

          若beginIndex為負數(shù),則將該值加上字符串長度后再進行計算(如果加上字符串的長度后還是負數(shù),則從0開始截取)。如果beginIndex大于或等于字符串的長度,則slice()返回一個空字符串。如果beginIndex大于endIndex,則slice()返回一個空字符串。如果endIndex省略,則將slice()字符提取到字符串的末尾。如果為負,則將該值加上字符串長度后再進行計算

          以下是一些示例代碼:

          let str = 'ABCDEFGHIJ'; console.log(str.slice(1, 2)); // 'B' console.log(str.slice(-3, 2)); // '' console.log(str.slice(-3, 9)); // 'HI' console.log(str.slice(-3)); // 'HIJ' console.log(str.slice(-3, -1)); // 'HI' console.log(str.slice(0, -1)); // 'ABCDEFGHIJ' console.log(str.slice(1)); // 'BCDEFGHIJ' console.log(str.slice(-20, 2)); // 'AB' console.log(str.slice(20)); // '' console.log(str.slice(20, 2)); // ''二、根據(jù)字符個數(shù)截取字符串 /* str: 原始字符串 startIndex: 開始截取位置 length: 截取字符長度 */ function getNewStr(str, startIndex, length) { return str.substring(startIndex, startIndex + length) } function getNewStr(str, startIndex, length) { return str.substr(startIndex, length) } function getNewStr(str, startIndex, length) { return str.slice(startIndex, startIndex + length) } let str = '666666哈哈哈減肥emmm好餓吖想吃飯tototototo胖胖胖胖胖胖胖aaaaa啊啊啊啊啊' console.log(getNewStr(str, 0, 10)) // 666666哈哈哈減三、根據(jù)字符個數(shù)分段截取字符串 /* str: 原始字符串 len: 分段截取字符長度 */ function getNewStrArr(str, len) { let n = Math.ceil(str.length / len) ; let strArr = []; for (let i = 0; i < n; i++) { let newStr = str.substring(len * i, len* (i + 1)); strArr.push(newStr); } return strArr } let str = '666666哈哈哈減肥emmm好餓吖想吃飯tototototo胖胖胖胖胖胖胖aaaaa啊啊啊啊啊' console.log(getNewStrArr(str, 10)) // ["666666哈哈哈減", "肥emmm好餓吖想吃", "飯totototot", "o胖胖胖胖胖胖胖aa", "aaa啊啊啊啊啊"] 四、根據(jù)字節(jié)個數(shù)截取字符串 /* str: 原始字符串 len: 截取字節(jié)長度 */ function reBytesStr(str, len) { if (!str || str == undefined) return ''; let num = 0; let result = ''; for (let i = 0; i < str.length; i++) { num += ((str.charCodeAt(i) > 255) ? 2 : 1); // 中文兩個字節(jié),英文一個字節(jié) if (num > len) { break; } else { result = str.substring(0, i + 1); } } return result; } let str = '666666哈哈哈減肥emmm好餓吖想吃飯tototototo胖胖胖胖胖胖胖aaaaa啊啊啊啊啊' console.log(reBytesStr(str, 10)) // 666666哈哈五、根據(jù)字節(jié)個數(shù)分段截取字符串 /* str: 原始字符串 len: 分段截取字節(jié)長度 */ let arr = [] function reBytesStrArr(str, len) { if (!str || str == undefined) return ''; let num = 0; let result = ''; for (let i = 0; i < str.length; i++) { num += ((str.charCodeAt(i) > 255) ? 2 : 1); if (num > len) { break; } else { result = str.substring(0, i + 1); } } arr.push(result) let item = str.split(result) let nextStr = item.join("") reBytesStrArr(nextStr, 10) return arr; } let str = '666666哈哈哈減肥emmm好餓吖想吃飯tototototo胖胖胖胖胖胖胖aaaaa啊啊啊啊啊' console.log(reBytesStrArr(str, 10)) // ["666666哈哈", "哈減肥emmm", "好餓吖想吃", "飯totototo", "to胖胖胖胖", "胖胖胖aaaa", "a啊啊啊啊", "啊"]



          【本文地址】

          公司簡介

          聯(lián)系我們

          今日新聞

          推薦新聞

          專題文章
            CopyRight 2018-2019 實驗室設備網 版權所有
            黄色免费网站在线看,韩国精品在线观看,韩国美女一区二区,99国产热 巴青县| 道孚县| 台安县| 德州市| 神农架林区| 荆州市| 通许县| 太原市| 米易县| 宜阳县| 阿坝县| 上犹县| 鄂伦春自治旗| 烟台市| 剑川县| 勃利县| 罗江县| 福泉市| 英吉沙县| 克东县| 南平市| 长垣县| 芦山县| 河源市| 桓仁| 定日县| 炎陵县| 凉城县| 同德县| 阜宁县| 承德市| 托克逊县| 西宁市| 荔波县| 星座| 青神县| 繁昌县| 灵武市| 宿州市| 文山县| 中宁县| http://444 http://444 http://444 http://444 http://444 http://444