javascript中,substr | slice、substring的区别

版权声明:任先阳 任 先 阳 任先 先阳,ifgm.cn、www.ifgm.cn、nvcc.cc、www.nvcc.cc、sbfox.com、www.sbfox.com https://blog.csdn.net/qq_39571197/article/details/85156650

假如有一种数据,格式为 平年2018/12/12 08:51PM,如何获取字符串2018/12/12 08:51

const str = '平年2018/12/12 08:51PM'; // '2018/12/12 08:51'.length === 16
// 第一种 slice, 看文档吧...
console.log(str.slice(2, -2));

// 第二种 substring(i1,i2), 从下标i1 ~ i2#之间#的字符,注意是之间,i2 === 目标字符下标 + 1
console.log(str.substring(2, 18)); // 平年2018/12/12 08:51 -> 最后一个1的下标是17,所以i2 === 18

// 第三种 substr(i,n), 从下标i开始,截取n个字符,不推荐使用,因为不是标准规范
console.log(str.substr(2, 16));

/* substring、substr关于负数 */
/**
 * substring(i1,i2)
 * 均不接受负数, 如果传入负数其实也有值返回,我想是内部做了处理
 * */
console.log(str.substring(2, -2) === str.substring(0, 2));
console.log(str.substring(-2) === str.substring(0));


/** substr(i1,n)
 * 如果n < 0, 那么 n === 0, 意思就是不接受负数, 传入负数会被当做0
 */
console.log(str.substr(-7, 5)); // 08:51
console.log(str.substr(-2)); // PM

 

没有更多推荐了,返回首页

私密
私密原因:
请选择设置私密原因
  • 广告
  • 抄袭
  • 版权
  • 政治
  • 色情
  • 无意义
  • 其他
其他原因:
120
出错啦
系统繁忙,请稍后再试