javascript - 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") );
解决方案
推荐阅读
- python - Python:返回其他装饰器的装饰器
- android - 改造响应空
- c++ - Node * head 在结构之外做什么?
- c# - 当我需要索引位置周围的项目时,如何防止“索引超出范围”?
- c# - 带有值的嵌套 For-each 循环序列问题
- django - 单元测试使用从抽象模型类派生的模型的管理命令,其中创建模型仅用于测试目的
- apache-spark - 具有相同 groupId 的多个 Spark Kafka 消费者
- swift - 固定在 UINavigationBar 下方时,UISearchBar 未居中
- php - 数据库输入失败
- android-studio - Android Studio kvm权限被拒绝