什么是JS字符串截取常用方法
说到JS里面字符串截取,大家通常会用到两大法宝:substring和slice方法。先给你们简单说说:
-
substring方法:这个玩意儿非常简单,主要用来截取字符串,你只要传两个参数——起始索引和结束索引,它就会给你截取这俩索引之间的内容。实话告诉你,它不会动原始字符串,返回的是一个新字符串。而且结束索引可以不传,那它就一直截到字符串结尾啦。
-
slice方法:这个和substring很像,但更灵活一点,它支持参数为负数,也就是说你可以从字符串尾巴开始算起截取,超适合要搞点从后面计算的场景!
这俩方法到底哪个厉害?说白了,slice更强大一点,负数索引很实用,但substring的参数顺序处理更“规矩”,就是直接按照你给的先后顺序来截取,不会倒过来。
总而言之,这两招天天用,绝对跑不掉,熟练掌握它们,你的字符串处理绝对得心应手!

JS字符串截取函数slice、substring和substr,它们的区别和使用场景是怎样的
接下来咱们深扒一下slice、substring和substr这三个截取字符串的大神吧,它们各自有啥不同呢?来,整理了几个重点给你:
-
substring
- 功能:截取两个指定索引之间的字符串。
- 参数:必须传起始索引和结束索引。
- 特点:如果起始索引比结束索引大,会自动帮你调换顺序,非常人性化。负数索引被当作0处理,完全不支持倒着截。
- 适合:需要保证顺序,且不涉及负数索引的场景。 -
slice
- 功能:从指定起始位置截到结束位置,返回新字符串。
- 参数:支持负数索引,负数表示从字符串尾部算起。
- 特点:可以截取数组和字符串,灵活度高。
- 适合:需要从尾部开始截取或者处理数组时最推荐。 -
substr
- 功能:从指定位置开始,截取指定长度的字符串。
- 参数:第一个是起始索引,第二个是截取长度。
- 特点:支持负数起始索引(从尾巴开始计算),但是第二个参数表示长度不是结束位置。
- 适合:想要控制截取长度而非终点的位置时特别有用。
还有个小贴士!当你想截取字符串前几位或后几位,可以:
- 对于前几位,直接用substring(0, n)就稳啦。
- 对于后几位,可以用字符串长度减去n作为起始位置,slice或substring都可以搞定。比如截取时间字符串中的时分秒部分,这招特别好用。
总结来说,slice功能最强,substring靠谱但有限制,substr更适合指定长度截取。根据你需求挑对法宝,代码写起来舒坦多啦!

相关问题解答
- 怎么选择slice、substring和substr哪个方法截取字符串比较好?
嘿,这可得看你的具体需求啦!如果你想从字符串尾巴开始截,统统用slice就对了,支持负数索引超方便!如果你英文想保守点保证参数顺序没差错,substring稳得一批!而substr更适合你知道起始点和截取长度的场景,简单粗暴~ 每个都有自己的小心机,你用习惯了就知道哪个轻松好用啦!
- substring和slice不传结束参数有什么区别吗?
这俩方法都能不写结束参数哦!substring不传结束参数,默认一直截取到字符串末尾,简直懒人必备。slice也是一样,不指定结束仓皇,直接截到结尾。小伙伴们就放心大胆地用,特别方便不费劲~
- substr会不会被废弃,能继续用吗?
有人说substr可能将来被废弃,可它现在依然超级实用呢!不过为了保险起见,如果你想写更未来proof的代码,建议用slice或者substring代替substr,这样就能避免潜在兼容性问题啦。别紧张,现在用还能稳稳的~
- 如何用JS截取当前日期的年月日和时分秒部分?
超简单!用new Date()获取当前时间对象,然后用它的getFullYear()、getMonth()、getDate()等方法分别拿到年份、月份和日期。要截取成字符串可以用substring或者slice处理,比如想要"2023-06-10"这种格式,字符串截取和拼接配合完美。至于时分秒,则用getHours()、getMinutes()和getSeconds()一口气读出来组合一下就妥啦!用这招你想要的日期时间格式轻轻松松就出来啦~
发表评论