JS—字符串方法总结

    //1、concat()方法,将几个字符串拼接为一个字符串,并返回新的字符串;
    var str1 = "nan";
    var str2 = "jing";
    var str3 = str1.concat(str2);
    console.log(str1,str2,str3) //nan jing nanjing
    //2、indexOf()方法,返回子串在字符串中 第一处 的索引,字符串不包含子串,返回-1;
    var index1 = str1.indexOf('an');
    var index2 = str1.indexOf('b');
    console.log(index1,index2) //1 -1
    //3、lastIndexOf()方法,返回子串在字符串中 最后一处 的索引,若字符串不包含子串,则返回-1;
    var index3 = str1.lastIndexOf("n");
    console.log(index3) //2
    //4、charAt()方法,返回字符串 指定位置 的字符
    var char1 = str1.charAt(1);
    console.log(char1) //'a'
    //5、返回全大写字符串toUpperCase() 或 全小写字符串toLowerCase()
    console.log(str1.toUpperCase(),str1)//NAN nan
    console.log("DONG".toLowerCase())//"dong"
    //6、split(),将字符串按照字符串中 指定字符 划分为字符串数组
    console.log(str2.split(''))//["j", "i", "n", "g"]
    console.log(str2.split('n'))//["ji", "g"]
    //7、取子串1,slice(start,end),Array与String对象共有方法,end可以负值,-1表示表示最后一个值,区间[i,j),不包含end
    console.log(str2.slice(0,-2))//"ji"
    //8、取子串2,substring(start,end),start < end,若start > end,会默认交换两个索引
    console.log(str2.substring(2,0))//"ji"
    //9、取子串3,substr(start,length)
    console.log(str2.substr(2,2))//"ng"

    //与正则相关的字符串方法
    //1、split()方法:用正则表达式 切分 字符串
    console.log('a b   c'.split(" "))//["a", "b", "", "", "c"]
    console.log('a b   c'.split(/\s+/))//["a", "b", "c"]   /\s+/匹配一个至多个(连续)空白字符
    console.log('a ,b   c,d'.split(/[\s,]+/))//["a", "b", "c", "d"]  /[\s,]+/匹配多个空白或逗号字符
    //2、search(regexp)方法,第一个与regexp相匹配的子串的起始位置。如果没有找到任何匹配的子串,则返回 -1。
    //3、match()方法,存放匹配结果的数组。该数组的内容依赖于 regexp 是否具有全局标志 g。
    //    如果 regexp 没有标志 g,那么 match() 方法就只能在 stringObject 中执行一次匹配。
    //4、stringObject.replace(regexp/substr,replacement),查找与正则匹配的子字符串,并用新字符串代替匹配的子串;
    //     replacement:必需。一个字符串值。规定了替换文本或生成替换文本的函数。
    //     返回一个新的字符串,是用 replacement 替换了 regexp 的第一次匹配或所有匹配之后得到的
    //     $1、$2、...、$99    与 regexp 中的第 1 到第 99 个子表达式相匹配的文本。

    //ES6字符串的扩展
    //1、matchAll(),返回一个正则表达式在当前字符串的所有匹配
    //2、trim()、trimStart()=trimLeft()、trimEnd()=trimRight() 消除字符串头部、尾部的空格
    //3、repeat(num),将字符串重复num次,返回新的字符串;其中num为小于-1的负数 或 infinity会报错
    //     若 num 为(-1,0)之间的小数会视为0;小数向下取整,返回“”
    //     若 num 为 NAN,也视为0,返回“”
    /*
    4、补全字符串的长度 padStart() \ padEnd()
        用法1:为数值补全指定位数
            '12'.padStart(10, '0') // "0000000012"
        用法2:提示字符串的格式
            '12'.padStart(10, 'YYYY-MM-DD') // "YYYY-MM-12"
        注意:(1)省略第二个参数,则使用空格补全;
              (2)接收两个参数,参数1为补全字符串的最大长度,参数2为用来补全的字符串
    */
    //5、includes(参数1,参数2)、startsWith(参数1,参数2)、endsWith(参数1,参数2) 判断一个字符串是否 包含子串\以子串开始\以子串结束
    //     参数1:子串
    //     参数2:num ;前两个方法表示从 num位置 开始到字符串结束,endsWith()方法表示针对 前num个 字符

 

posted @ 2020-04-15 22:06  红桃七716  阅读(184)  评论(0编辑  收藏  举报