[AS3]AS3字符串函数substring()、slice()和substr()的使用及区别
AS3 字符串函数substring()、slice()和substr()的使用及区别
substring()、slice()和substr()都是从长的字符串中提出的子字符串。
三者相同之处在于,都不会改变原来长字符串的内容,只是返回符合条件的子字符串。
所不同的是,substing()和slice()是根据起点和终点位置来提取的,substr()是根据起点和要截取的字符串长度来提取的。注意,这 里的位置应当填写索引值。所有的字符串索引都是从零开始的,第一个字符的位置就是0,终点位置就是字符串的长度减去1。
它们的用法如下。
substing:长字符串变量.substing(起点位置,终点位置)
slice:长字符串变量.slice(起点位置,终点位置)
substr:长字符串变量.substr(起点位置,要截取的字符串长度)
而substring()和slice()也有一些小区别。
substing()的起点和终点不可以为负数,即使用了负数,也会被当成0来处理。slice()的起点和终点不仅可以写正整数,也可以写负数。当设为负数时,意味着是从字符串右端到左端来数。比如说-1,就是指倒数第一个字符。
substring()中如果起始位置大于终点位置,执行时会自动互换位置。slice()中如果起始位置大于终点位置,那么返回的将是一个空字符串。
substring()和slice()还有一个共同点就是:如果只填写一个参数,那么该参数会默认文起始位置,终点位置自动设为最后一个字符(即字符串长度减去1)。
至于substr(),起点位置可以使用正整数,也可以使用负数。长度理论上只能用正整数,但实际上也可以用负数。但是,用负数长度时,与我们通常的思维习惯不符,不能算做阅读性好的代码。因此,应尽量避免用负数
热门文章推荐
- [HLS]做自己的m3u8点播系统使用HTTP Live Streaming(HLS技术)
- [FMS]FMS流媒体服务器配置与使用相关的介绍
- [AS3]什么是M3U8,与HTML5的区别是什么
- AS2.0 让flash自适应全屏,并且不自动缩放
- [AS3]as3.0的sound类常用技巧整理
- [AS3]as3与ByteArray详解、ByteArray介绍、ByteArray用法
- 关于RTMP,RTMPT,RTMPS,RTMPE,RTMPTE协议的介绍
- [JS]分享浏览器弹出窗口不被拦截JS示例