• 【JavaScript使用技巧】三个截取字符串中的子串,你用的哪个


    【JavaScript使用技巧】三个截取字符串中的子串,你用的哪个

    博客说明

    文章所涉及的资料来自互联网整理和个人总结,意在于个人学习和经验汇总,如有什么地方侵权,请联系本人删除,谢谢!

    slice() 截取

    说明

    通过指定的开始和结束位置,提取字符串的某个部分,并以新的字符串返回被提取的部分。

    语法
    stringObject.slice(start, end)
    
    参数说明

    start(必需):规定从何处开始选取。

    如果是负数,那么它规定从字符串尾部开始算起的位置。

    end(可选):规定从何处结束选取,即结束处的字符下标。

    如果没有指定该参数,那么截取的字符串包含从 start 到结束的所有字符。如果这个参数是负数,那么它规定的是从数组尾部开始算起的字符。

    示例
    var str = "0123456789";
    str.slice(0,5); // 01234
    str.slice(3);  //3456789
    str.slice(3,5);  //34
    str.slice(-3);  //789
    

    substring()截取

    说明

    提取字符串中介于两个指定下标之间的字符,返回一个新的字符串

    语法
    stringObject.substring(start, stop)
    
    参数说明

    start(必需):一个非负的整数,注意是非负的整数。

    标识了要提取的子串的第一个字符在 stringObject 中的位置。

    stop(可选):一个非负的整数,注意是非负的整数。

    比要提取的子串的最后一个字符在 stringObject 中的位置多 1(至少为一个字符)。

    var str = "0123456789";
    str.substring(3,5); //34
    str.substring(3); //3456789
    

    注意:

    如果 start 与 end 相等,那么该方法返回的就是一个空串(即长度为 0 的字符串)。

    如果 start 比 end 大,那么该方法在提取子串之前会先交换这两个参数。

    如果 start 或 end 为负数,那么它将被替换为 0。

    substr() 截取

    说明

    substr 方法用于返回一个从指定位置开始的指定长度的子字符串。这里注意第二个参数是长度,而不是结束的位置。

    语法
    stringObject.substr(start, length)
    
    参数说明

    start(必需):所需的子字符串的起始位置。

    字符串中的第一个字符的索引为 0。

    length(可选):在返回的子字符串中应包括的字符个数。

    var str = "0123456789";
    str.substr(3,5); //34567
    str.substr(3); //3456789
    

    注意:

    如果 length 为 0 或负数,将返回一个空字符串

    如果没有指定 length,则子字符串将延续到 stringObject 的最后

    如果 start 或 length 为负数,那么它将被替换为 0

    对比和记忆

    其实我猜大多数pym都知道这个三个方法,但是这三个方法的区别总是有些把持不住的样子。

    给一段代码,好对比。

    var str = "0123456789";
    str.slice(3,5);  //34
    str.substring(3,5); //34
    str.substr(3); //3456789
    

    slice和substring都有开始和结束的概念,所以在有开始和结束参数时,区别不大,substring不支持负数,这一边有别于slice,一般也是基于这一点来区分使用的。

    substr只有开始和开始的数量,这种方式用的场景特定,区别也是最明显的,希望如果记不住前面两个,那就那这个孤儿收了吧。

    感谢

    万能的网络

    以及勤劳的自己,个人博客GitHub测试GitHub

    公众号-归子莫,小程序-小归博客

  • 相关阅读:
    iOS企业版打包 发布在线安装包 plist
    iOS企业版打包(转载)
    微信小程序开发入门教程
    SVN常用命令说明
    高仿QQ、微信效果的图片浏览器(支持原图和缩略图、多种手势、CocoaPods)
    iOS 调试大法
    MFMailComposeViewController发送邮件的实例
    自定义UISearchBar外观
    npm 包命令:不是内部或外部命令 问题分析
    angular 子路由跳转出现Navigation triggered outside Angular zone, did you forget to call ‘ngZone.run() 的问题修复
  • 原文地址:https://www.cnblogs.com/guizimo/p/15564565.html
Copyright © 2020-2023  润新知