zoukankan      html  css  js  c++  java
  • JS数据类型之String类型

    1. 转换为字符串
      var num = 10
      num.toString(); //"10" 转换为字符串-参数表示几进制的字符串
      var stringValue = "hello world";
      stringValue.length; //"11" 读取长度
    2. 读取字符串指定位置的字符
      //下面两行可以读取字符串指定位置的字符--面试题经常遇到
      stringValue.charAt(1); //"e" 返回参数位置的字符
      stringValue[1]; //"e" 类似于数组的用法
      
      stringValue.charCodeAt(1); //"101" 返回参数位置字符的字符编码
      stringValue.concat(" oo"); // "hello world oo" 字符串拼接(不改变原字符串)
    3. 字符串的截取
      stringValue.slice(start, end); //负数转换为和长度相加 --就是倒数
      stringValue.substr(start, len); //第一个参数同上,第二个参数代表长度,所以负值或0,就是截取长度为0的字符串
      stringValue.substring(start, end); //较小一个作为起始位置,较大的参数作为结束位置 负值被认为是0
    4. 字符串中参数字符的位置
      //注意下面两个方法结合,可以判断字符串是某个特定的字符是否有重复
      stringValue.indexOf("o"); //4 从前往后找,返回位置 
      stringValue.lastIndexOf("o"); //7 从后往前找,返回位置
      stringValue.indexOf("o",5); //第二个参数代表从该位置开始找 -- 又一个特定字符判重方法
      //找出字符串所有的e的位置
      var stringValue = "Lorem ipsum dolor sit amet, consectetur adipisicing elit";
      var positions = new Array();
      var pos = stringValue.indexOf("e");
      while(pos > -1){
          positions.push(pos);
          pos = stringValue.indexOf("e", pos + 1);
      }
      alert(positions); //"3,24,32,35,52"
    5. 大小写转换
      //大小写转换
      stringValue.trim();//去前后空格 trimLeft() 和 trimRight()
      stringValue.toUpperCase(); //"HELLO WORLD" stringValue.toLowerCase(); //"hello world"
    6. 模式匹配
      match(); //接受一个参数,正则或者RegExp对象
      search(); //接受一个参数,正则或者RegExp对象
    7. 比较字符串
      var stringValue = "yellow";
      stringValue.localeCompare("brick"); //1 返回正数 0 负数
    8. 其他方法--去空格,替换,分割
      var stringValue = "hello world";
      stringValue.trim();//去前后空格 trimLeft() 和 trimRight()
      var text = "cat, bat, sat, fat";
      text.replace("at", "ond");//"cond, bat, sat, fat"
      text.replace(/at/g, "ond");//"cond, bond, sond, fond"--替换所有
      text.split(分隔符,指定数组的大小);//按参数分隔符分割 与join相反
      String.fromCharCode(104, 101, 108, 108, 111); //"hello" 字符编码拼字符串
    9. ES6新增功能(部分)
      • 字符串的遍历
        for (let codePoint of 'foo') {
              console.log(codePoint)
        }
        // "f" 
        // "o"
        // "o"
      • 字符串的查找
        let s = 'Hello world!';//下面第二个参数,表示开始搜索的位置。
        s.startsWith('Hello') // true 参数字符串是否在原字符串的头部
        s.endsWith('!') // true 参数字符串是否在原字符串的伪部
        s.includes('o') // true 参数字符串是否在原字符串内找到
      • 字符串的补全
        repeat() //方法返回一个新字符串,表示将原字符串重复n次。
        'na'.repeat(2.9) // "nana"小数会被取整,负数或无限会报错
        //字符串补全 第一个参数是字符串补全生效的最大长度,第二个参数是用来补全的字符串,不写默认为空格
        padStart(); //用于头部补全
        padEnd(); //用于尾部补全。
  • 相关阅读:
    SOJ 3531_Number Pyramids
    TYVJ P1047 乘积最大 Label:dp
    TYVJ P1067 合唱队形 Label:上升子序列?
    TYVJ P1093 验证数独 Label:none
    TYVJ P1088 treat Label:鞭笞人的DP
    TYVJ P1008 传球游戏
    表达式系列问题
    数字三角形系列 系列问题
    TYVJ P1024 外星人的密码数字
    TYVJ P1056 能量项链 Label:环状区间DP
  • 原文地址:https://www.cnblogs.com/zhujunislucky/p/10251370.html
Copyright © 2011-2022 走看看