js中有三个截取字符字符的方法与substring切割语法的区别

  关于截取字符串,刚刚接到了一个小需求,后台给字符串aaaaa/hhhhhh,需要向前台展示aaaaa做标题,hhhhhh做标题下面的小描述.

  js中有三个截取字符的方法,分别是substring()、substr()、slice()

  相同点:这三个方法都可以对字符串进行截取,并且返回一个新的字符串,也就是不会对原字符串进行修改

  不同点:这三个方法的不同之处在于参数不同。

  1)substring()方法用于提取字符串中介于两个指定下标之间的字符。

  语法:string.substring(start,stop)

  substring()方法返回的子串包括start处的字符,但不包括stop处的字符。

  2)substr() 方法可在字符串中抽取从 start 下标开始的指定数目的字符。

  语法:string.substr(start,length)

  该方法与substring()最大的区别在于第二个参数是你需要截取字符串的长度,而不是位置。

  js截取字符串长度_js截取中英文字符串长度_js 截取指定字符间的串

  start可以取负值,表示从字符串尾部往头部开始数(从右到左js截取字符串长度,注意是从1开始,比如-1指字符串中最后一个字符)

  3)slice() 方法可提取字符串的某个部分,并以新的字符串返回被提取的部分。

  语法:string.slice(start,end)

  该方法的两个参数均为位置坐标,和subtring比较像,区别就是该方法支持负数,并且不会交换位置js截取字符串长度,始终是从start到end,如果该区间不存在,那么返回''。

  总结:从上面测试得出结论,substring不支持负值,其他两种方式均支持负数表示,并且是从右边第一位开始计数。

  substr的第二个参数是长度,这是和其他两种方式最大的不同之处,slice的方向性比较强,永远是从start=>end对应左=>右。

  4)split()字符串切割

  语法:

  <pre>stringObject.split(separator,howmany)</pre>

  separator 必需。字符串或正则表达式,从该参数指定的地方分割 stringObject。

  js 截取指定字符间的串_js截取字符串长度_js截取中英文字符串长度

  howmany 可选。该参数可指定返回的数组的最大长度。如果设置了该参数,返回的子串不会多于这个参数指定的数组。如果没有设置该参数,整个字符串都会被分割,不考虑它的长度。

  注意:

  1:如果把空字符串 ("") 用作separator,那么 stringObject 中的每个字符之间都会被分割。

  2:如果找不到切割的字符串separator默认已整体切割,返回的数组长度为1

  ---------------------------------------------------------------------------------------------------

  js截取中英文字符串长度_js截取字符串长度_js 截取指定字符间的串

  然后我们的需求就有解决方案了:

  var string = aaaaa/bbbb

  方法一:

  title = string.split('/')[0] desc= string.split('/')[1]

  方法二:

  title = string.subtring(0,string.indexOf('/')) desc= string.subtring(string.indexOf('/')+1)

文章由官网发布,如若转载,请注明出处:https://www.veimoz.com/1832
0 评论
731

发表评论

!