首页 > 解决方案 > split(' ') 和 split ( /( )/ ) 的区别

问题描述

我不明白为什么是split(/(?:_| )+/)。这 '?' 表示“如果遵循”,但为什么我需要在这种情况下使用它?我认为 split(' ') 和 split(/( )/) 是“在空白处分割”,但在第二种情况下,它返回一个在单词之间包含空元素的数组。split 方法不返回分隔符。

function spinalCase(str)
  {     
  // Replace low-upper case to low-space-uppercase     
  str = str.replace(/([a-z])([A-Z])/g, "$1 $2");   
    
  // Split on whitespace and underscores and join with dash    
  return str
        .toLowerCase()
        .split(/(?:_| )+/)
        .join("-");
  }
    
// test here 
 console.log( spinalCase("This Is Spinal Tap") );

标签: javascriptregexsplit

解决方案


推荐阅读