创新互联www.cdcxhl.cn八线动态BGP香港云服务器提供商,新人活动买多久送多久,划算不套路!
成都创新互联公司网站建设服务商,为中小企业提供做网站、网站设计服务,网站设计,网站改版维护等一站式综合服务型公司,专业打造企业形象网站,让您在众多竞争对手中脱颖而出成都创新互联公司。这篇文章将为大家详细讲解有关JavaScript中截取字符串的方法,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。
JavaScript字符串截取方法有:1、slice方法,字符串的截取都是从左向右;2、substring方法,第一个参数为负整数时,截取的为整个字符串;3、match方法 ,返回的是一个含有匹配项字符串的数组。
一、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开始),第二个参数写上会截取为空,最后注意第二个参数都不能大于第一个参数,可以与坐标轴类比
6 var sliceStr1 = str.slice(2); //llohappyworldHello! 7 var sliceStr2 = str.slice(2,7); //lloha 8 var sliceStr3 = str.slice(-2); //o! 9 var sliceStr4 = str.slice(-2,5); //"" 10 var sliceStr5 = str.slice(-2,-5); //"" 11 var sliceStr6 = str.slice(2,-5); //llohappyworldH 12 console.log(sliceStr1); 13 console.log(sliceStr2); 14 console.log(sliceStr3); 15 console.log(sliceStr4); 16 console.log(sliceStr5); 17 console.log(sliceStr6); 18 19 //2.substr(numStart,length)
二、substr方法:
返回的是从指定位置截取,length长度的字符串,numStart必填,为正整数时,表示从左向右读取下标截取,当为负整数时,表示从右至左读取下标截取,
第二个参数表示需要截取字符串的长度,当为负整数时,返回的为空,整数数时表示截取的长度,当超过字符串的剩余长度时,到字符串末尾为止
20 var substrStr1 = str.substr(2); //llohappyworldHello! 21 var substrStr2 = str.substr(-2); //o! 22 var substrStr3 = str.substr(2,18); //llohappyworldHello 23 var substrStr4 = str.substr(-2,1); //o 24 var substrStr5 = str.substr(-2,-1); //"" 25 console.log(substrStr1); 26 console.log(substrStr2); 27 console.log(substrStr3); 28 console.log(substrStr4); 29 console.log(substrStr5); 30 31 //3、substring(numStart,numEnd)
三、substring方法:
与slice类似,但是第一个参数为负整数时,截取的为整个字符串
32 var substringStr1 = str.substring(2); //llohappyworldHello! 33 var substringStr2 = str.substring(-2);//HellohappyworldHello! 34 var substringStr3 = str.substring(7,2); //lloha 35 var substringStr4 = str.substring(2,7); //lloha 36 console.log(substringStr1); 37 console.log(substringStr2); 38 console.log(substringStr3); 39 console.log(substringStr4);
四、match方法 :
注意
1、match方法返回的是一个含有匹配项字符串的数组;
2、需要根据不同的情况来写正则;
3、返回的数组里面第一个总是原来的字符串;
4、当正则表示式有子表示时(即(\S*)括号内的内容),且为全局匹配时只查找全匹配正则表达式并返回所有内容,为非全局时,返回的是多个元素数组;
当正则表达式无子表达式时,且为全局匹配时,返回的是多个元素的数组,如果为非全局匹配时,返回的是匹配到第一个元素的数组
42 var regStr1 = str.match(/Hello/g); //["Hello","Hello"] 43 var regStr9 = str.match(/Hello/); //["Hello"] 44 var regStr2 = str.match(/hello/g); //null 45 var regStr3 = str.match(/Hello(\S*)world/); //["Hellohappyworld", "happy"] //截取中间字符串 46 var regStr4 = str.match(/(\S*)world/g); //["Hellohappyworld"] //截取指定字符之前的字符串 47 var regStr5 = str.match(/(\S*)world/); //["Hellohappyworld", "Hellohappy"] //截取指定字符之前的字符串 48 var regStr6 = str.match(/Hello(\S*)/g); //["HellohappyworldHello!"] //截取指定字符之后的字符串 49 var regStr7 = str.match(/Hello(\S*)/); //["HellohappyworldHello!", happyworld!] //截取指定字符之后的字符串 50 var regStr8 = str.match(/llo(\S*)/); //["llohappyworldHello!", happyworldHello!] //截取指定字符的字符串 51 console.log(regStr1); 52 console.log(regStr9); 53 console.log(regStr2); 54 console.log(regStr3); 55 console.log(regStr4); 56 console.log(regStr5); 57 console.log(regStr6); 58 console.log(regStr7); 59 console.log(regStr8); 60
当然上面这些方法与使用方式都是一些简单的需求,当项目中的需求比较复杂时还得结合实际情况来进行截取,不过不管怎样使用的方法or实现思路都大概类似,
另外也鞭策一下自己好记性不如烂笔头,碰到什么问题or新知识还是要养成记录下来的习惯,希望与诸位园友共勉。
关于JavaScript中截取字符串的方法就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。