为什么'////'.split('/')产生[]?

 一个都不等 发布于 2023-02-10 14:27

代码'////'.split('/')导致[].虽然我期待它['', '', '', '', ''].如果这是红宝石的一个特征,为什么这样设计呢?

2 个回答
  • 您不能通过分隔符拆分分隔符字符串.

    您应该将limit作为第二个参数传递给split函数以实现此行为

    '////'.split('/',-1)
    => 
    ["", "", "", "", ""]
    

    如果省略limit参数,则禁止尾随空字段.如果limit是正数,则最多将返回该字段数(如果limit为1,则整个字符串将作为数组中的唯一条目返回).如果为负数,则返回的字段数没有限制,并且不会抑制尾随空字段

    2023-02-10 14:30 回答
  • split方法行为的研究表明它是优化的结果,它简单地在最后一次匹配后裁剪出空数组元素,如下所示:

    '////'.split('/')
    => []
    
    '//a//'.split('/')
    => ["", "", "a"]
    

    2023-02-10 14:30 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有