在JavaScript中访问字符串的子串


Posted in Javascript onJuly 07, 2015

 使用substring()或slice()方法(NN4+, IE4+),下面说明它们的具体用法。

      substring()的原型为:  

string.substring(from, to)

      第一个参数from指定了子字符串在原字符串中的起始位置(基于0的索引);第二个参数to是可选的,它指定了子字符串在原字符串的结束位置(基于0的索引),一般情况下,它应比from大,如果它被省略,那么子字符串将一直到原字符串的结尾处。

      如果参数from不小心比参数to大了会怎样?JavaScript会自动调解子字符串的起止位置,也就是说,substring()总是从两个参数中较小的那个开始,到较大的那个结束。不过要注意,它包含起始位置的那个字符,但不包含结束位置的那个字符。

var fullString = "Every dog has his day.";


   var section = fullString.substring(0, 4); // section is "Ever".


   section = fullString.substring(4, 0);   // section is also "Ever".


   section = fullString.substring(1, 1);   // section is an empty string.


   section = fullString.substring(-2, 4); // section is "Ever", same as fullString.substring(0, 4);  slice()的原型为: string.slice(start, end)

      参数start表示子串的起始位置,如果为负数,那么可以理解为倒数第几个开始,例如-3表示从倒数第三个开始;参数end表示结束位置,与start一样,它也可以为负数,其含义也表示到倒数第几个结束。slice()的参数可以为负数,所以要比substring()更加灵活,但没那么宽容了,如果start比end要大,它将返回一个空字符串(示例略)。

      还有一个方法是substr(),其原型为: 

string.substr(start, length)

      从原型可以看出它的参数的含义,start表示起始位置,length则表示子字符串的长度。JavaScript标准不提倡使用该方法。

Javascript 相关文章推荐
js 为label标签和div标签赋值的方法
Aug 08 Javascript
JS 打印功能代码可实现打印预览、打印设置等
Oct 31 Javascript
详解JavaScript基于面向对象之继承实例
Dec 16 Javascript
vue-awesome-swiper滑块插件使用方法详解
Nov 27 Javascript
angularjs实现柱状图动态加载的示例
Dec 11 Javascript
webpack分离css单独打包的方法
Jun 12 Javascript
Echart折线图手柄触发事件示例详解
Dec 16 Javascript
如何为你的JavaScript代码日志着色详解
Apr 08 Javascript
详解如何在vue项目中使用layui框架及采坑
May 05 Javascript
微信小程序wx.request拦截器使用详解
Jul 09 Javascript
详解js location.href和window.open的几种用法和区别
Dec 02 Javascript
js实现橱窗展示效果
Jan 11 Javascript
jQuery.each使用详解
Jul 07 #Javascript
JavaScript中字符串拼接的基本方法
Jul 07 #Javascript
简单介绍JavaScript中字符串创建的基本方法
Jul 07 #Javascript
浅谈JavaScript中运算符的优先级
Jul 07 #Javascript
浏览器中url存储的JavaScript实现
Jul 07 #Javascript
浅谈JavaScript中的作用域和闭包问题
Jul 07 #Javascript
深入分析下javascript中的[]()+!
Jul 07 #Javascript
You might like
CI(CodeIgniter)框架中的增删改查操作
2014/06/10 PHP
PHP获取一年中每个星期的开始和结束日期的方法
2015/02/12 PHP
PHP使用gmdate实现将一个UNIX 时间格式化成GMT文本的方法
2015/03/19 PHP
php简单判断两个字符串是否相等的方法
2015/07/13 PHP
php采用session实现防止页面重复刷新
2015/12/24 PHP
PHP实现负载均衡的加权轮询方法分析
2018/08/22 PHP
javascript removeChild 使用注意事项
2009/04/11 Javascript
编写可维护面向对象的JavaScript代码[翻译]
2011/02/12 Javascript
jquery拖动插件(jquery.drag)使用介绍
2013/06/18 Javascript
JS弹出层单纯的绝对定位居中示例代码
2014/02/18 Javascript
js实现在同一窗口浏览图片
2014/09/17 Javascript
最佳的JavaScript错误处理实践
2016/07/16 Javascript
js插件dropload上拉下滑加载数据实例解析
2016/07/27 Javascript
JS实现闭包中的沙箱模式示例
2017/09/07 Javascript
Vue结合SignalR实现前后端实时消息同步
2017/09/19 Javascript
微信小程序日历/日期选择插件使用方法详解
2018/12/28 Javascript
python解析xml文件操作实例
2014/10/05 Python
在Gnumeric下使用Python脚本操作表格的教程
2015/04/14 Python
Python绘制七段数码管实例代码
2017/12/20 Python
Python实现自定义顺序、排列写入数据到Excel的方法
2018/04/23 Python
基于DataFrame改变列类型的方法
2018/07/25 Python
pytz格式化北京时间多出6分钟问题的解决方法
2019/06/21 Python
HTML5中form如何关闭自动完成功能的方法
2018/07/02 HTML / CSS
编写用C语言实现的求n阶阶乘问题的递归算法
2014/10/21 面试题
什么是.net的Remoting技术
2016/07/08 面试题
应届生财务会计求职信
2013/11/05 职场文书
大学生毕业自我鉴定
2013/11/06 职场文书
最经典的大学生职业生涯规划范文
2014/03/05 职场文书
《彭德怀和他的大黑骡子》教学反思
2014/04/12 职场文书
医药销售自我评价200字
2014/09/11 职场文书
2014年教育培训工作总结
2014/12/08 职场文书
水知道答案观后感
2015/06/08 职场文书
《葡萄沟》教学反思
2016/02/23 职场文书
简短的36句中秋节祝福信息语句
2019/09/09 职场文书
Golang 实现超大文件读取的两种方法
2021/04/27 Golang
idea以任意顺序debug多线程程序的具体用法
2021/08/30 Java/Android