javascript中substring()、substr()、slice()的区别

作者:hebedich 时间:2024-04-16 09:54:35 

stringObject.substring(start,stop) 用于提取字符串中介于两个指定下标之间的字符。

start必需。一个非负的整数,规定要提取的子串的第一个字符在 stringObject 中的位置。

stop可选。一个非负的整数,比要提取的子串的最后一个字符在 stringObject 中的位置多 1。如果省略该参数,那么返回的子串会一直到字符串的结尾。

start从0开始 到stop(不包含stop)结束 不接受负的参数。

stringObject.substr(start,length)可在字符串中抽取从start下标开始的指定数目的字符

start 必需。要抽取的子串的起始下标。必须是数值。如果是负数,那么该参数声明从字符串的尾部开始算起的位置。也就是说,-1 指字符串中最后一个字符,-2 指倒数第二个字符,以此类推。

length 可选。子串中的字符数。必须是数值。如果省略了该参数,那么返回从 stringObject 的开始位置到结尾的字串。

stringObject.slice(start,end)提取字符串的某个部分,并以新的字符串返回被提取的部分

start 要抽取的片断的起始下标。如果是负数,则该参数规定的是从字符串的尾部开始算起的位置。也就是说,-1 指字符串的最后一个字符,-2 指倒数第二个字符,以此类推。

end 紧接着要抽取的片段的结尾的下标。若未指定此参数,则要提取的子串包括 start 到原字符串结尾的字符串。如果该参数是负数,那么它规定的是从字符串的尾部开始算起的位置。

返回新的字符串包括字符串 stringObject 从 start 开始(包括 start)到 end 结束(不包括 end)为止的所有字符


string.slice()
string.substring()
string.substr()

var stringValue = “hello world”;
alert(stringValue.slice(3));          //”lo world”
alert(stringValue.substring(3));      //”lo world”
alert(stringValue.substr(3));        //”lo world”
alert(stringValue.slice(3,7));         //”lo w”
alert(stringValue.substring(3,7));    //”lo w”
alert(stringValue.substr(3,7));       //”lo worl”

三者如果只有一个参数n 则会从第n个位置开始返回剩余字符串(从0开始计算位置)

如果有两个参数n,m,slice与substring会从第n个位置开始返回到第m个位置(不包括第m位置)的字符串,而substr会返回从第n个位置开始的m个字符。
———————————————————————————————
 


string.slice()
string.substring()
string.substr()
var stringValue = “hello world”;
alert(stringValue.slice(-3));          //”rld”
alert(stringValue.substring(-3));      //”hello world”
alert(stringValue.substr(-3));        //”rld”
alert(stringValue.slice(3,-4));         //”lo w”
alert(stringValue.substring(3,-4));    //”hel”
alert(stringValue.substr(3,-4));       //”"(空字符串)

当参数是负值情况下,slice将传入负值与字符串长度(string.length)相加,substr会将负的第一个参数加上字符串长度,第二个转换为0,substring会将所有负值都转换成0。

IE的JavaScript实现在处理向substr()方法传递负值的情况时存在问题,它会返回原始的字符串。

标签:substring(),substr(),slice()
0
投稿

猜你喜欢

  • 利用scrapy将爬到的数据保存到mysql(防止重复)

    2024-01-23 15:35:28
  • Pytorch模型转onnx模型实例

    2022-09-06 03:39:24
  • 瞎扯之Web导航

    2009-03-18 19:32:00
  • javascript中select下拉框的用法总结

    2024-04-19 09:57:51
  • python排序的方法实例总结

    2023-09-10 15:57:49
  • MySQL索引用法实例分析

    2024-01-22 16:42:22
  • python批量下载壁纸的实现代码

    2023-11-09 18:13:05
  • Python之str操作方法(详解)

    2021-07-21 09:14:16
  • python GUI库图形界面开发之PyQt5滚动条控件QScrollBar详细使用方法与实例

    2021-04-26 09:11:26
  • 企业网站FLASH引导页存在的意义

    2008-06-04 11:09:00
  • python用pandas数据加载、存储与文件格式的实例

    2021-09-05 03:44:47
  • numpy的squeeze函数使用方法

    2022-04-15 10:02:07
  • gin 获取post请求的json body操作

    2023-04-22 13:47:30
  • PHP中使用Memache作为进程锁的操作类分享

    2023-11-22 18:10:02
  • Python数据类型--字典dictionary

    2023-06-19 12:49:53
  • Python 读取某个目录下所有的文件实例

    2022-08-27 20:04:13
  • Python基于tkinter模块实现的改名小工具示例

    2023-08-31 10:40:01
  • MYSQL server has gone away解决办法

    2010-11-25 17:22:00
  • python初学者,用python实现基本的学生管理系统(python3)代码实例

    2023-07-01 11:40:01
  • 实例讲解MySQL 慢查询

    2024-01-20 16:25:56
  • asp之家 网络编程 m.aspxhome.com