substr和slice的基础用法(普通的字符串)

  前言

  substr() 和 slice() 都可以对字符串进行截取操作,它们的使用方法有些类似js 字符串 substr,最大的区别就是第二个参数 , substr() 的第二个参数 是 截取字符串的长度 ,slice() 的第二个参数是 截取字符串的 结束下标。(个人感觉两者的区别不大,它们的作用类似)

  substr() 语法

  在 javascript中,substr( )方法用于从指定索引位置截取指定长度的子字符串,它包含两个参数,第一个参数表示准备截取的子字符串起始下标,第二个参数表示截取的长度 (注意 和 slice 区分一下 )

  string.substr(start,length)

  参数:

  start(必需):要截取的子串的起始下标。必须是数值。如果是负数,那么该参数声明从字符串的尾部开始算起的位置。也就是说, -1 表示最后一个字符,-2 表示倒数第二个字符js 字符串 substr,以此类推。这对于左侧字符长度不固定时非常有用。

  length(可选):表示截取的长度。如果省略了该参数,则默认截取开始位置至原字符串的结尾。

  注意:substr( ) 方法不会改变原来的字符串。

  基础用法(普通截取字符串)

  下标从 0 开始

   var str = '123456';

            // 截取整个字符串
            console.log(str.substr(0));   // 123456
            // 从索引位置2开始截取3个长度的字符
            console.log(str.substr(2,3));  // 345
            // 从倒数第4个字符开始截取至原字符串的结尾
            console.log(str.substr(-4));  // 3456
            // 从倒数第2个字符开始截取2个长度的字符
            console.log(str.substr(-2,2));   // 56
            // 输出原字符串 , 不会改变原字符串
            console.log(str);   // 123456

  截取日期

  很多时候我们从数据库获取的时间都是 年-月-日 时:分:秒 的格式,而我们在页面上通常都会只显示年月日,如果只有少数几个数据的话,使用格式化时间有点麻烦,最简单操作的就是直接截取自己想要的数据。

   var time ="2022-09-07 14:27:56";

           var Time = time.substr(0,10);

  获取扩展名

  获取字符串的最后一个点号的下标位置,然后从其后的位置开始截取 4 个字符。

   var s = "hello world!欢迎来到PHP中文网!https://www.php.cn/course/list/56.html";

    var b = s.substr(s.lastIndexOf(".") + 1, 4);    //截取最后一个点号后4个字符

  如果省略第二个参数,则表示截取从起始位置开始到结尾的所有字符。考虑到扩展名的长度不固定,省略第二个参数会更灵活。

  var b = s.substr(s.lastIndexOf(".") + 1);

  slice() 语法

  slice( )方法包含两个参数,第一个参数表示准备截取的子字符串起始下标,第二个参数表示截取的结束下标(注意 和 substre 区分一下)

  string.slice(start , end)

  参数:

  start(必需):要截取的子串的起始下标。必须是数值。可以是负数

  end(可选):表示截取的结束下标。如果省略了该参数,则默认截取开始位置至原字符串的结尾。( 注意这个结束下标是取不到的,整个的范围是一个左闭右开的区间 ,比如 slice(0,1) 意思是 截取 [0,1) 位置的字符,就只有一个字符被截取)

  注意:substr( ) 方法不会改变原来的字符串。

  基本用法

   var str = '123456';

            // 截取整个字符串
            console.log(str.slice(0));   // 123456
            // 从索引位置2开始截取到下标3的字符
            console.log(str.slice(2,3));  // 3
            // 从倒数第4个字符开始截取至原字符串的结尾
            console.log(str.slice(-4));  // 3456
            // 输出原字符串 , 不会改变原字符串

  对比两个方法

  substr() 的第二个参数 是 截取字符串的长度 ,

  slice() 的第二个参数是 截取字符串的 结束下标。

  两个方法都不会改变原字符串

   var str = '123456'

        console.log(str.slice(1,2))   // 2
        console.log(str.substr(1,2))  // 23

  文章如有错误,恳请大家提出问题,本人不胜感激 。 不懂的地方可以评论,我都会 一 一 回复

  文章对大家有帮助的话,希望大家能动手点赞鼓励,大家未来一起努力 长路漫漫,道阻且长

文章由官网发布,如若转载,请注明出处:https://www.veimoz.com/1848
0 评论
608

发表评论

!