• JavaScript 字符串方法之 substr、 substring、 slice


    1.字符串的substr(startIndex,num)方法:开始下标,字符个数
    // (第一个参数起始下标,(1)为负值时,视作length+负值,(2)超过最大下标时找不到多余字符)
    // (第二个参数字符个数,(1)为负值视作0,即从指定开始下标开始,找0个字符,(2)超过字符串下标时找不到多余字符)
     var s="abcde01234xyz";
    
     console.log(s.substr(1,22));  //bc //从定开始下标1开始,找2个字符。
     // (第一个参数起始下标,(1)为负值时,视作length+负值,(2)超过最大下标时找不到多余字符)
     // (第二个参数字符个数,(1)为负值视作0,即从指定开始下标开始,找0个字符,(2)超过字符串下标时找不到多余字符)
    
     console.log(s.substr(1,-2));   //  //第二个参数为负值视作0,从指定开始下标开始,找0个字符
    
     console.log(s.substr(-3,2));   //xy  //第一个参数为负值,从下标为(length+负值)开始,找2个字符
    
     console.log(s.substr(-3,3));  //xyz  //第一个参数为负值,从下标为(length+负值)开始,找3个字符
    
     console.log(s.substr(-3,4));   //xyz  //第一个参数为负值,从下标为(length+负值)开始,找3个字符
    
     console.log(s.substr(-3,5));   //xyz  //第一个参数为负值,从下标为(length+负值)开始,找3个字符
    
    

      

    2.字符串的substring(startIndex,endIndex)方法:开始下标到指定结束下标的前一个
     参数为负值看做参数为0,
    从小的参数下标找向大的参数下标前面一个(即两个参数可以交换位置),下标过大或者过小找不到多余字符
    只有一个参数时,看做开始参数下标找到最后一个元素
    var s="abcde01234xyz";
    
     //    参数为负值看做参数为0,从小的下标找向大的下标前面一个
    
     console.log(s.substring(1,2));  // b //从定开始下标1开始,到指定结束下标的前一个元素(从小的下标找向大的下标前一个)
    
     console.log(s.substring(-5,2));  // ab //第一个参数为负值看做下标为0,到指定结束下标的前一个元素
    
     console.log(s.substring(1,-2));  //a //第二个参数为负值看做下标为0,从小的下标找向大的下标前一个
    
     console.log(s.substring(2,-2)); //ab //第二个参数为负值看做下标为0, 从小的下标找向大的下标前一个
    
     console.log(s.substring(3,-2));  //abc //第二个参数为负值看做下标为0, 从小的下标找向大的下标前一个
    
     console.log(s.substring(4,-2)); //abcd//第二个参数为负值看做下标为0 从小的下标找向大的下标前一个
    
    console.log(s.substring( 4,16)); //e01234xyz// 找不到多余字符
    
    
    

      

     
    
    
    3.字符串的slice(startIndex,endIndex)方法:开始下标到指定结束下标的前一个
    //参数负值,看做length+负值
    //第一个参数或者第二个参数为负值时,该参数相对于(length+负值)即负值,循环字符串 // 多余字符找不到

    //只有一个参数时,看做开始参数下标找到最后一个元素
     
         // slice       参数负值,看做length+负值
        //第一个参数或者第二个参数为负值时,该参数相对于(length+负值)即负值,循环字符串
        /!*  a b c d e 0 1 2 3 4 x y z a b c d e 0 1 2 3 4 x y z
         -2 -1 0 1 2 3 4 5 6 7 8 9 ……
         *!/
    
         var s="abcde01234xyz";
     
        console.log(s.slice(1,2));  // b          //从指定开始下标1开始,到指定结束下标2的前一个元素
    
        console.log(s.slice(1,0));  //            // //从指定开始下标1开始,到指定结束下标0的前一个元素
    
        console.log(s.slice(1,-1));  // bcde01234xy  //从指定开始下标1开始,到(length+负值)结束下标的前一个元素
    
        console.log(s.slice(1,-2));  // bcde01234x  //从指定开始下标1开始,到(length+负值)结束下标的前一个元素
    
        console.log(s.slice(-5,12));  //   34xy     //从指定开始下标(length+负值)开始,到结束下标的前一个元素
    
        console.log(s.slice(-6,12));  //  234xy    //从指定开始下标(length+负值)开始,到结束下标的前一个元素
    
        console.log(s.slice(-6,13));  //  234xyz    //从指定开始下标(length+负值)开始,到结束下标的前一个元素
    
        console.log(s.slice(-6,15));  //  234xyz    //从指定开始下标(length+负值)开始,到结束下标的前一个元素(多余字符找不到)
    
        console.log(s.slice(-6,16));  //  234xyz    //从指定开始下标(length+负值)开始,到结束下标的前一个元素(多余字符找不到)
    
    
    

      

     
  • 相关阅读:
    AFNet3.0上传图片
    最新 AFNetworking 3.0 简单实用封装
    iOS开发密码输入数字和字母混合
    IOS用CGContextRef画各种图形(文字、圆、直线、弧线、矩形、扇形、椭圆、三角形、圆角矩形、贝塞尔曲线、图片)(转)
    iOS开发探索-图片压缩处理
    常用第三方框架插件
    2.1创建直线
    1.4用向导创建Hello,world程序
    vs2008找不到ObjectARX MFC Support
    vc6.0错误:error C2653: 'CCreateEnt' : is not a class or namespace name
  • 原文地址:https://www.cnblogs.com/July-/p/5765099.html
Copyright © 2020-2023  润新知