源码侠

JavaScript字符串截取方法有哪些?

󰌂发布时间 2022-08-06 热度 409

 当前位置:  首页 / 教程资源 / 前端教程

教程内容:

JavaScript字符串截取方法有:1、slice方法,字符串的截取都是从左向右;2、substring方法,第一个参数为负整数时,截取的为整个字符串;3、match方法 ,返回的是一个含有匹配项字符串的数组。


JavaScript字符串截取方法有哪些?


JavaScript字符串截取方法有:

一、slice方法:

注意

1、字符串的截取都是从左向右,不会有从右向左截取;

2、slice与substring方法,截取返回的字符串包含numStart而不包含numEnd;

3、注意slice方法当numStart大于numEnd时截取为空而substring当numStart大于numEnd时回调换二者位置,截取numEnd到numStart之间的字符串


var str = "HellohappyworldHello!";
//1.slice(numStart,numEnd)


返回的值为截取指定下标之间的字符串,参数可以为负数,可以不填,正整数表示从左向右读取小兵截取,负整数表示从右向左读取下标截取,当第一个开始下标参数为负整数时,

第二个参数不需要了,如果写上不管是正整数还是负整数都截取为空的字符串,总结如下,不填参数时,截取取的是原字符串,第一个参数为正整数时,

第二个参数,可不填(即为到字符串结尾),可填正整数(即从start-end),可以为负整数(即start-(str.length+end)),

第一个参数为负整数时(即从右向左读取下标截取,右是从-1开始),第二个参数写上会截取为空,最后注意第二个参数都不能大于第一个参数,可以与坐标轴类比

    var sliceStr1 = str.slice(2);  //llohappyworldHello!
    var sliceStr2 = str.slice(2,7); //lloha
    var sliceStr3 = str.slice(-2); //o!  
    var sliceStr4 = str.slice(-2,5); //"" 
    var sliceStr5 = str.slice(-2,-5); //""
    var sliceStr6 = str.slice(2,-5); //llohappyworldH
    console.log(sliceStr1);
    console.log(sliceStr2);
    console.log(sliceStr3);
    console.log(sliceStr4);
    console.log(sliceStr5);
    console.log(sliceStr6);
    //2.substr(numStart,length)

二、substr方法:

返回的是从指定位置截取,length长度的字符串,numStart必填,为正整数时,表示从左向右读取下标截取,当为负整数时,表示从右至左读取下标截取,

第二个参数表示需要截取字符串的长度,当为负整数时,返回的为空,整数数时表示截取的长度,当超过字符串的剩余长度时,到字符串末尾为止

    var substrStr1 = str.substr(2); //llohappyworldHello!
    var substrStr2 = str.substr(-2); //o!
    var substrStr3 = str.substr(2,18); //llohappyworldHello
    var substrStr4 = str.substr(-2,1); //o
    var substrStr5 = str.substr(-2,-1); //""
    console.log(substrStr1);
    console.log(substrStr2);
    console.log(substrStr3);
    console.log(substrStr4);
    console.log(substrStr5);
    //3、substring(numStart,numEnd)

三、substring方法:

与slice类似,但是第一个参数为负整数时,截取的为整个字符串

    var substringStr1 = str.substring(2); //llohappyworldHello!
    var substringStr2 = str.substring(-2);//HellohappyworldHello!
    var substringStr3 = str.substring(7,2); //lloha
    var substringStr4 = str.substring(2,7); //lloha
    console.log(substringStr1);
    console.log(substringStr2);
    console.log(substringStr3);
    console.log(substringStr4);

四、match方法 :

注意

1、match方法返回的是一个含有匹配项字符串的数组;

2、需要根据不同的情况来写正则;

3、返回的数组里面第一个总是原来的字符串;

4、当正则表示式有子表示时(即(\S*)括号内的内容),且为全局匹配时只查找全匹配正则表达式并返回所有内容,为非全局时,返回的是多个元素数组;

当正则表达式无子表达式时,且为全局匹配时,返回的是多个元素的数组,如果为非全局匹配时,返回的是匹配到第一个元素的数组

    var regStr1 = str.match(/Hello/g);  //["Hello","Hello"]
    var regStr9 = str.match(/Hello/);  //["Hello"]
    var regStr2 = str.match(/hello/g); //null
    var regStr3 = str.match(/Hello(\S*)world/); 
    //["Hellohappyworld", "happy"] //截取中间字符串
    var regStr4 = str.match(/(\S*)world/g); //["Hellohappyworld"]
    //截取指定字符之前的字符串
    var regStr5 = str.match(/(\S*)world/); //["Hellohappyworld", "Hellohappy"] //截取指定字符之前的字符串
    var regStr6 = str.match(/Hello(\S*)/g); 
    //["HellohappyworldHello!"] //截取指定字符之后的字符串
    var regStr7 = str.match(/Hello(\S*)/); 
    //["HellohappyworldHello!", happyworld!] //截取指定字符之后的字符串
    var regStr8 = str.match(/llo(\S*)/); 
    //["llohappyworldHello!", happyworldHello!] //截取指定字符的字符串
    console.log(regStr1);
    console.log(regStr9);
    console.log(regStr2);
    console.log(regStr3);
    console.log(regStr4);
    console.log(regStr5);
    console.log(regStr6);
    console.log(regStr7);
    console.log(regStr8);

当然上面这些方法与使用方式都是一些简单的需求,当项目中的需求比较复杂时还得结合实际情况来进行截取,不过不管怎样使用的方法or实现思路都大概类似,另外也鞭策一下自己好记性不如烂笔头,碰到什么问题or新知识还是要养成记录下来的习惯,希望与诸位园友共勉。




评论(0)条

    源码侠

    站长素材 - 建站资源分享平台

    源码侠提供各类虚拟产品,虚拟资源以及教程、模板、素材等,源码侠是一个互联网虚拟产品,虚拟资源聚集地的特色网站!

    反馈建议

    kefu@xuniku.cn fuwu@xuniku.cn

    周一至周日9:00-23:00

    在线QQ咨询

    本期用户推荐小程序

    本站所有资源均为会员提供或网上搜集,版权归原作者所有,如需商业用途或转载请与原作者联系!所提供的内容仅供观摩学习交流之用,请勿用作商业用途!如有侵权,请及时 联系我们 删除

    Powered by 源码侠 © 2010-2020 流量联盟   copyright   北京流量圈信息科技有限公司