slice,substr和substring方法的区别
2024-09-29 23:34:29
slice(start[,end])方法需要提供至少一个整数参数,作用是返回从start的位置开始到end位置的字符子串。当参数start为负数的时候他将从字符串尾部开始计算,当end没有指定时,end即为字符串的结尾。如果为负数呢,他也要从字符串尾部开始计算。所以当我们需要一个字符串的之后3个字符时只需slice(-3);由此可见,合理的使用负数让我们的程序变得简单。但是在此之前,请确保自己了解了他的作用。
据我所知的编程语言中,有很大一部分的substring方法设计为substring(beginposition,length),而在JavaScript中正好也有这么一个方法,可惜真正与之对应的是substr方法。
substr(pos[,length])方法中,如果pos为负数,则与slice的负数解释相同,length省略时与slice的end省略也相同。
到了substring方法,substring(from[,to]);从定义上就可以看到,后一个参数是一个位置,而非长度,因此他更像slice,但是与之有一点重要的区别,那就是substring方法不包含to位置。即是一个半开半闭区间。另一个区别是substring不支持负向位置,如果第一个参数为负数,那么就是从位置0开始。后一个位置如果是负数,则返回空串,如果第二个参数小于第一个参数,那么同样返回空串,但是如果相等呢,还是空串,因为这是一个半开半闭区间[from,to)。
最新文章
- http://www.mysqltutorial.org/python-mysql-query/
- 使用原生ajax处理json组成的数组
- 直接拿来用!最火的Android开源项目(一) (转)
- hdu 1222 狼和兔子
- BAT CMD 批处理文件脚本 -2
- cocos2d-x笔记5: 通过jni实现C++调用Java
- iOS里面如何同时使用开启ARC的库 和 没有开启 ARC的库,ARC 与非 ARC同时存在的问题
- Ambari安装
- iOS学习之应用之间的操作(转发)
- Java读取properties文件(非泛滥)
- Linux —— 命令
- IntelliJ IDEA使用笔记
- Nginx 如何增大nginx使用cpu有效时长
- String.IsNullorEmpty()方法的使用
- 【转载】基于rasa的对话系统搭建(上)
- log4net 如何关闭Nhibernate产生的大量日志
- leetcode — remove-element
- python - 上下文管理协议(with + __enter__ + __exit__)
- Nginx深度优化
- 如何调用Http请求的接口