• js字符串截取 包含对中文处理


    一、解释

    字符串截取中文为两个字节,字母和数字为一个字符,普通的截取

    substr()不论中文还是字母都是按1位截取的,现在就处理含有汉字的字符串截取
     
     
    二、例子:
    abc碧果果def
      const test = 'ab碧果果def';
        console.log(this.Substr(test, 2, 6));
        console.log(this.Substr(test, 0, 3));

    三、代码

     // 字符串截取 包含对中文处理,str需截取字符串,start开始截取位置,n截取长度
      Substr(str, start, n) { // eslint-disable-line
        if (str.replace(/[u4e00-u9fa5]/g, '**').length <= n) {
          return str;
        }
        let len = 0;
        let tmpStr = '';
        for (let i = start; i < str.length; i++) { // 遍历字符串
          if (/[u4e00-u9fa5]/.test(str[i])) { // 中文 长度为两字节
            len += 2;
          } else {
            len += 1;
          }
          if (len > n) {
            break;
          } else {
            tmpStr += str[i];
          }
        }
        return tmpStr;
      }
  • 相关阅读:
    IfcFeatureElementAddition
    IfcOpeningElement
    IfcRelNests
    IfcElementAssemblyType
    IfcProjectionElement
    IfcFeatureElement
    IfcRelDefines
    Win10 Anaconda配置tensorflow
    Anaconda升级
    Anaconda 台式机环境
  • 原文地址:https://www.cnblogs.com/wangyuxue/p/12072334.html
Copyright © 2020-2023  润新知