• 技术文章 >web前端 >js教程

    JS字符串学习之将字符串分割成子串并传给数组

    青灯夜游青灯夜游2021-08-25 16:00:06原创197
    在之前的文章《JS字符串学习之怎么统一所有字符的大小写》中,我们介绍了统一字符串的大小写的两种方法,有需要的朋友可以学习了解一下~

    而本文的主要内容是“分割字符串,变成多个更小的子串,并将这些子串传给数组,作为数组元素”;简单来说就是“字符串转为数组”。

    那么这样怎么操作呢?我们可以使用JavaScript内置的函数split()

    string.split(separator,limit)用于把一个字符串分割成字符串数组;接受两个可省略的参数separator(分割符或正则表达式,指定分割位置)和limit(指定返回的数组的最大长度)

    可省略的参数separator有多种取值情况,不同的情况返回的数组也不一样:

    1、split()方法不接受参数:

    var str="How are you doing today?";
    var arr=str.split();
    console.log(arr);

    当参数为空时,则该方法会把整个字符串作为一个元素的数组返回(此时数组长度为1)。因此输出结果为:

    1.png

    2、split()方法的separator参数为空字符串

    var str="How are you doing today?";
    var arr=str.split('');
    console.log(arr);

    当separator参数为空字符串时,那么该方法会按照单个字符进行分割,每个字符之间都会被分割,则会返回一个包含所有单个字符的字符数组(此时数组长度为字符串的长度)。因此输出结果为:

    2.png

    3、split()方法的separator参数为空格' '

    var str="How are you doing today?";
    var arr=str.split(' ');
    console.log(arr);

    当separator参数为空格时,那么该方法会按照空格来进行分割,将字符串中的每个单词都分割出来作为数组元素。因此输出结果为:

    3.png

    4、split()方法的separator参数为正则表达式

    var str= "a2b3c4d5e678f12g";
    var arr=str.split(/\d+/);  //把以匹配的数字为分隔符来切分字符串
    console.log(arr);

    当separator参数为正则表达式,则该方法能够以匹配文本作为分隔符进行切分。例如上例中就是匹配0~9的数字,将数字作为分割符,因此输出结果为:

    5.png

    var str= "122a2b3c4d5e678f12g456";
    var arr=str.split(/\d+/);  //把以匹配的数字为分隔符来切分字符串
    console.log(arr);

    6.png

    var str= "abcdefg";
    var arr=str.split(/\d+/);  //把以匹配的数字为分隔符来切分字符串
    console.log(arr);

    7.png

    指定包含的子串数目

    如果分割的子串太多,只是想要获取前几个子串,那么可以第二个参数limit

    第二个参数limit可指定返回数组的最大长度,即可设置包含的子串数目。如果设置了该参数,则返回的数组长度不会大于这个参数指定的值:

    var str="How are you doing today?";
    var arr=str.split(' ',3);
    console.log(arr);

    4.png

    参数limit不接受负值,如果设置了负值,则该值会被会略掉。

    var str="How are you doing today?";
    var arr=str.split(' ',-3);
    console.log(arr);

    8.png

    好了,就说到这里了,有需要的可以看:javascript视频教程

    以上就是JS字符串学习之将字符串分割成子串并传给数组的详细内容,更多请关注php中文网其它相关文章!

    声明:本文原创发布php中文网,转载请注明出处,感谢您的尊重!如有疑问,请联系admin@php.cn处理
    上一篇:浅析javascript中Reflect内置对象(代码详解) 下一篇:JS数组学习之迭代数组计算元素总和、将值连接成字符串
    线上培训班

    相关文章推荐

    • JS字符串学习之巧用函数来连接多个字符串• JS字符串学习之计算给定字符的全部出现位置• JS字符串学习之怎么返回给定下标间的子串• JS字符串学习之通过截取子串的方式返回文件扩展名

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网