zoukankan      html  css  js  c++  java
  • substring()、slice()和substr()方法辨析

    这几天看以前的文档,当看到substring()、slice()和substr()时,不清楚它们的区别,经查阅资料并亲自验证,做出以下总结:

    首先定义一个变量便于下面测试:var str='q1207526854'
     
    str.substring(form,to):从字符串里截取下标为form到下标为to的字符串(不包括to对应的字符)alert(str.substring(2,6))   // 2075
      当form>to时,substring会把较小的参数作为第一参数     alert(str.substring(6,2))   //2075
      并且当其中某个参数值为负数时,substring会直接将负数转成0。   alert(str.substring(6,-2))   //q12075
    ----------------------------------------------------------------------------------------------------------------------
    str.slice(star,end):从字符串里抽取下标为star到下标为end的字符串(不包括end对应的字符) alert(str.slice(2,6))   //2075
        当star>end时,slice会返回空字符串   alert(str.slice(6,2))   // null
        并且当其中某个参数值为负数时,slice会将此参数与字符串长度相加的结果作为参数 alert(str.slice(6,-2))   // 268
        且slice可以对数组操作。
    ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    str.substr(star,length):从下标为star的字符串开始,截取长度为length的一个子字符串  alert(str.substr(2,6))   // 207526
       当star为负数时,substr会将此参数与字符串长度相加的结果作为参数   alert(str.substr(-6,2))   // 75
       当end为负数时,返回空字符串。 alert(str.substr(6,-2))   // null  
  • 相关阅读:
    windows 乱码之 gbk 与 cp936
    jdcli 在命令行反编译jar包
    建议博客园向独立博客提供发布到首页的服务
    IsByRef在什么情况下为true?
    Hibernate里自定义UserType时取不到值的问题
    解决安装Visual Studio 2010 SP1时被NDP40KB2468871.exe补丁卡死以及mscorsvw.exe进程CPU占用率高的问题
    FROM WAS7/JDK5 TO WAS6/JDK4
    C++山寨C#中的DataTable
    程序员的自我修养读书笔记
    Web开发之路
  • 原文地址:https://www.cnblogs.com/shuyuxuan/p/3863126.html
Copyright © 2011-2022 走看看