js截取字符串

关于截取字符串,刚刚接到了一个小需求,后台给字符串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()最大的区别在于第二个参数是你需要截取字符串的长度,而不是位置。

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

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

  语法:string.slice(start,end)

          该方法的两个参数均为位置坐标,和subtring比较像,区别就是该方法支持负数,并且不会交换位置,始终是从startend,如果该区间不存在,那么返回''

总结:从上面测试得出结论,substring不支持负值,其他两种方式均支持负数表示,并且是从右边第一位开始计数。
substr的第二个参数是长度,这是和其他两种方式最大的不同之处,slice的方向性比较强,永远是从start=>end对应左=>右

4)split()字符串切割

语法:

stringObject.split(separator,howmany)

separator    必需。字符串或正则表达式,从该参数指定的地方分割 stringObject。
howmany    可选。该参数可指定返回的数组的最大长度。如果设置了该参数,返回的子串不会多于这个参数指定的数组。如果没有设置该参数,整个字符串都会被分割,不考虑它的长度。

注意:

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

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

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

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

var string = aaaaa/bbbb

方法一:

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

方法二:

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

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值