热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

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

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

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

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开始),第二个参数写上会截取为空,最后注意第二个参数都不能大于第一个参数,可以与坐标轴类比

 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视频教程

以上就是Javascript字符串截取方法有哪些?的详细内容,更多请关注 第一PHP社区 其它相关文章!


推荐阅读
  • 本文详细介绍如何安装和配置DedeCMS的移动端站点,包括新版本安装、老版本升级、模板适配以及必要的代码修改,以确保移动站点的正常运行。 ... [详细]
  • 探讨了在HTML表单中使用元素代替进行表单提交的方法。 ... [详细]
  • 如何在PPT中创建交互式跳转按钮
    许多企业在日常工作中都会用到PPT,但你知道如何在PPT中制作一个可以实现页面跳转的按钮吗?本文将详细介绍在PPT中创建跳转按钮的方法和步骤。 ... [详细]
  • 本文对元代诗人萨都剌的《酹江月·姑苏台怀古》进行了详尽的翻译和赏析,深入探讨了诗中蕴含的历史情感与文化内涵。 ... [详细]
  • 一文详解Linux
    Linuxnetfilter与VRF实验环境如下图所示:配置如下:#!binbashsudoipnetnsaddns1sudoiplinkaddns1veth1typevethpe ... [详细]
  • 网络分析仪中的噪声参数解析
    本文探讨了网络分析仪中噪声参数的作用及其对测量精度的影响。通过深入分析噪声参数如何随源阻抗变化,解释了其在不同测量条件下的表现。 ... [详细]
  • JavaScript 跨域解决方案详解
    本文详细介绍了JavaScript在不同域之间进行数据传输或通信的技术,包括使用JSONP、修改document.domain、利用window.name以及HTML5的postMessage方法等跨域解决方案。 ... [详细]
  • 最适合初学者的编程语言
    本文探讨了适合编程新手的最佳语言选择,包括Python、JavaScript等易于上手且功能强大的语言,以及如何通过有效的学习方法提高编程技能。 ... [详细]
  • 3DSMAX制作超现实的体育馆模型
    这篇教程是向脚本之家的朋友介绍3DSMAX制作超现实的体育馆模型方法,教程制作出来的体育馆模型非常地不错,不过教程有点难度,需要有一定基础的朋友学习,推荐到脚本之家,喜欢的朋友可 ... [详细]
  • 本文介绍了如何在AngularJS应用中使用ng-repeat指令创建可单独点击选中的列表项,并详细描述了实现这一功能的具体步骤和代码示例。 ... [详细]
  • 如何辨别华为手机的不同屏幕分辨率?
    了解华为手机屏幕分辨率的区别及其识别方法对于提升用户体验至关重要。本文将详细介绍如何通过手机设置中的显示选项来查看和区分不同型号华为手机的屏幕分辨率。 ... [详细]
  • 本文详细介绍了使用MAX7219芯片驱动单个8x8 LED点阵的仿真过程。MAX7219作为一款高效的LED显示驱动器,广泛应用于各种工业控制面板、商业广告牌及DIY项目中,能够显著提升显示效果。 ... [详细]
  • Unity美洲技术总监Carl Callewaert探讨游戏引擎与动作捕捉技术
    Carl Callewaert,现任Unity美洲区技术总监,以其幽默和专业著称,拥有超过十年的游戏开发及教育经验。在UNITE 2016 Shanghai会议中,他不仅展示了Unity引擎的先进特性和最新研究进展,还以其独特的即兴说唱技能给观众留下了深刻印象。 ... [详细]
  • 在项目冲刺的最后一天,团队专注于软件用户界面的细节优化,包括调整控件布局和字体设置,以确保界面的简洁性和用户友好性。 ... [详细]
  • 本文对唐代诗人元稹的《月三十韵》进行了详尽的翻译与赏析,深入探讨了诗中的意境与艺术特色。 ... [详细]
author-avatar
阮琳芷信玲俊岳
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有