function spinalCase(str) {
//Replace aB to a-B
return str.replace(/[a-z]+[A-Z]/,'$1,-,$2');
}
spinalCase('ThisIsSpinalTap');
我希望输入“ThisIsSpinalTap”输出“This-Is-Spinal-Tap”,方法是使用正则表达式来定位与大写字母相邻的小写字母,并在中间添加-
。我得到的错误输出是这样的。
t$1,$2ssspinaltap
MDN参考https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/replace
2条答案
按热度按时间2vuwiymt1#
使用capturing groups-
pgvzfuti2#
你需要在你期望的1美元和2美元的部分周围加上括号。