【发布时间】:2021-06-23 09:40:58
【问题描述】:
在 JavaScript 中:
function solution(string) {
let stringCharArr = string.split("");
if(stringCharArr.every(char => char === char.toLowerCase())){
return string;
}
for(let stringChar of stringCharArr){
let indexOfChar = stringCharArr.indexOf(stringChar)
if(stringChar === stringChar.toUpperCase() && stringChar !== ' '){
stringCharArr.splice(indexOfChar, 0, ' ')
}
}
let replaceRegex = /,/g
let newString = stringCharArr.join().replace(replaceRegex, '');
return newString;
}
我的函数的目标是用驼峰式字母前的空格替换驼峰式字符串。我无法弄清楚为什么我的功能不起作用。这是对代码战的挑战。
【问题讨论】:
-
是什么让您认为它不起作用?输入、当前输出和预期输出是多少? FWIW,您可以将
let newString = stringCharArr.join().replace(replaceRegex, '');替换为let newString = stringCharArr.join('')。 -
你的
indexOfChar看起来很可疑,肯定会遇到任何重复的字符吗? -
为什么不
/([a-z])([A-Z])/\1 \2/g? -
@DBS 啊,这可能是个问题。我会尝试使用普通的 for 循环,我认为是 stringCharArr[i]。
标签: javascript regex string