• 字符串的常用方法


    字符串中的常用方法

    所有用单引号,双引号,反引号抱起来的都是字符串 
    每一个字符串都是由零到多个字符组成的

    • str.length //=>代表字符串的长度

    • str[10000] //=>不存在的索引会返回undefined

    charAt / charCodeAt

    charAt:根据索引获取指定位置的字符 
    charCodeAt:获取指定字符的ASII码值(Unicode编码值)

    • params参数 
      n[number] 获取字符指定的索引
    • return 
      返回查找到的字符(找不到的话返回的是空字符串不是undefined)或者对应的编码值
    let str = "zhufengjiaoyu";
    console.log(str.charAt(0)); //"z"
    console.log(str[0]); //"z"
    console.log(str.charAt(100)); //空字符串
    console.log(str[100]); //undefined
     
    console.log(str.charCodeAt(0)); //"122"
    console.log(str.charCodeAt(100)); //NaN
    console.log(String.fromCharCode(122)); //"z"

    实现字符串截取的三个方法

    substr / substring / slice

    substr(n,m):从索引n开始截取m个字符,m不写截取到末尾(后面的方法也是); 
    substring(n,m):从索引n开始找到索引为m处(不含m); 
    slice(n,m):和substring一样,都是找到索引为m处,但是slice可以支持负数作为索引,其余两个方法是不可以的;

    • params参数 
      n[number] 获取字符指定的索引
    • return 
      返回查找到的字符(找不到的话返回的是空字符串不是undefined)或者对应的编码值
    let str = "零一二三四五六七八九十";
    console.log(str.substr(3,7));//三四五六七八九十
    console.log(str.substr(3));//截取到末尾
     
    console.log(str.substring(3,7));//三四五六七
    console.log(str.substring(3));//截取到末尾
    console.log(str.substring(-7,-3)+"1");//1不支持负数索引
     
    console.log(str.slice(3,7));//三四五六七
    console.log(str.slice(3));//截取到末尾
    console.log(str.slice(-11,-3));//和console.log(str.slice(11-11,11-3));同理 

    indexOf(x,y) / lastIndexOf(x) 
    在字符串方法中兼容所有浏览器

    indexOf(x,y):获取第一次出现的位置的索引,y是控制查找的起始位置索引,找不到返回-1 
    lastIndexOf(x):最后一次出现位置的索引,找不到返回-1

    let str = "零一二三四五六七八九六十";
    console.log(str.indexOf(""));//6
    console.log(str.indexOf("",7));//11
    console.log(str.indexOf("feng"));//12
    console.log(str.lastIndexOf("")); //返回的是字符串出现的索引位置11
    //验证当前包不包含字符串
    if (!str.includes("")) {
    alert('不包含');
    }; 

    toUpperCase / tolowerCase:转换大小写

    转换为大写str.toUpperCase 
    转换为小写str.tolowerCase

    split:分隔符参数分割并转换为数组

    stringObject.split(separator,howmany) 
    参数 描述

    • separator 必需。字符串或正则表达式,从该参数指定的地方分割 stringObject。

    • howmany 可选。该参数可指定返回的数组的最大长度。如果设置了该参数,返回的子串不会多于这个参数指定的数组。如果没有设置该参数,整个字符串都会被分割,不考虑它的长度。

    let str = "零|一|二|三|四|五";
    let ary = str.split("|");
    console.log(ary.join(","));//零,一,二,三,四,五
    //join()将数组转化为字符串,可以指定分隔符
    console.log(ary.toString());//零,一,二,三,四,五 

    replace:实现字符串的转换(经常伴随正则来应用)

    replace(老字符,新字符);

    let str = "零@一@二@三@四@五";
    str = str.replace("@", "|");//零|一@二@三@四@五 只能替换一次
    console.log(str);
    str = str.replace(/@/g , "|");//可以结合正则来使用
    console.log(str);//零|一|二|三|四|五 

    match 
    localCompare 
    trim 
    trimLeft 
    trimRight

    实现一些常用的需求,获取时间字符串的方案

    时间字符串的处理>方案一

    let time = "2020-3-21 12:12:12"
    //变为自己需要的字符串格式,例如:
    //2020年03月21日 12时12分12秒
    //2020年03月21日
    //07/24 12:06
    time = time.replace("-","").replace("-","").replace(" ","").replace(":","").replace(":","").replace(":","");
    console.log(time);//2020年3月21日 12时12分12秒 

    方案二基于获取值的方案

    let time = "2020-3-21 12:12:12"
    // 基于获取值的方案
    let n = time.indexOf("-");
    let m = time.indexOf(" ");
    let x = time.indexOf(":");
    let y = time.lastIndexOf("-");
    let z = time.lastIndexOf(":");
    let year = time.substring(0,n);
    let month = time.substring(n+1,y);
    let day = time.substring(y+1,m);
    console.log(n,m,x,y,z);//4 9 12 6 15
    console.log(year+"年0"+month+""+day+"");//2020年03月21日 

    方案三基于split拆分

    let time = "2020-3-21 12:12:12";
    // 第三种方案
    let n = time.split(" ");
    let m = n[0].split("-");
    let x = n[1].split(":");
    console.log(n,m,x);
    //["2020-3-21", "12:12:12"] (3) ["2020", "3", "21"] (3) ["12", "12", "12"] 

    正则基于split拆分字符串

    let time = "2020-3-21 12:12:12";
    let ary = time.split(/(?: |-|:)/g);
    console.log(ary);//["2020", "3", "21", "12", "12", "12"]
  • 相关阅读:
    重定向丶管道丶参数传递
    zabbix监控redis
    zabbix监控mysql
    playbook
    zabbix通过jvm监控tomcat
    zabbix监控tcp状态
    部署centos6
    自动选择profile
    java jvm学习笔记十二(访问控制器的栈校验机制)
    java jvm学习笔记十一(访问控制器)
  • 原文地址:https://www.cnblogs.com/niuyaomin/p/12540107.html
Copyright © 2020-2023  润新知