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

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

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之间的字符串

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

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

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

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

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

varsliceStr1=str.slice(2);//llohappyworldHello!varsliceStr2=str.slice(2,7);//llohavarsliceStr3=str.slice(-2);//o!varsliceStr4=str.slice(-2,5);//""varsliceStr5=str.slice(-2,-5);//""varsliceStr6=str.slice(2,-5);//llohappyworldHconsole.log(sliceStr1);console.log(sliceStr2);console.log(sliceStr3);console.log(sliceStr4);console.log(sliceStr5);console.log(sliceStr6);//2.substr(numStart,length)二、substr方法:

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

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

varsubstrStr1=str.substr(2);//llohappyworldHello!varsubstrStr2=str.substr(-2);//o!varsubstrStr3=str.substr(2,18);//llohappyworldHellovarsubstrStr4=str.substr(-2,1);//ovarsubstrStr5=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类似,但是第一个参数为负整数时,截取的为整个字符串

varsubstringStr1=str.substring(2);//llohappyworldHello!varsubstringStr2=str.substring(-2);//HellohappyworldHello!varsubstringStr3=str.substring(7,2);//llohavarsubstringStr4=str.substring(2,7);//llohaconsole.log(substringStr1);console.log(substringStr2);console.log(substringStr3);console.log(substringStr4);四、match方法 :

注意

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

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

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

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

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

varregStr1=str.match(/Hello/g);//["Hello","Hello"]varregStr9=str.match(/Hello/);//["Hello"]varregStr2=str.match(/hello/g);//nullvarregStr3=str.match(/Hello(\S*)world/);//["Hellohappyworld","happy"]//截取中间字符串varregStr4=str.match(/(\S*)world/g);//["Hellohappyworld"]//截取指定字符之前的字符串varregStr5=str.match(/(\S*)world/);//["Hellohappyworld","Hellohappy"]//截取指定字符之前的字符串varregStr6=str.match(/Hello(\S*)/g);//["HellohappyworldHello!"]//截取指定字符之后的字符串varregStr7=str.match(/Hello(\S*)/);//["HellohappyworldHello!",happyworld!]//截取指定字符之后的字符串varregStr8=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新知识还是要养成记录下来的习惯,希望与诸位园友共勉。

产品猿社区致力收录更多优质的商业产品,给服务商以及软件采购客户提供更多优质的软件产品,帮助开发者变现来实现多方共赢;

日常运营的过程中我们难免会遇到各种版权纠纷等问题,如果您在社区内发现有您的产品未经您授权而被用户提供下载或使用,您可按照我们投诉流程处理,点我投诉

本文来自用户发布投稿,不代表产品猿立场 ;若对此文有疑问或内容有严重错误,可联系平台客服反馈;

部分产品是用户投稿,可能本文没有提供官方下下载地址或教程,若您看到的内容没有下载入口,您可以在我们产品园商城搜索看开发者是否有发布商品;若您是开发者,也诚邀您入驻商城平台发布的产品,地址:点我进入

如若转载,请注明出处:https://www.chanpinyuan.cn/40370.html;
(0)
上一篇 2023年3月31日 下午4:18
下一篇 2023年4月1日 下午4:18

相关推荐

发表回复

登录后才能评论
分享本页
返回顶部