我试图为字符串创建一个字符更改功能,它假定将所有的“-”更改为“ _”,并且仅对第一个字符执行此操作,其余的保留。如果有人可以解释的话,将不胜感激。
<label >student</Label>:<span class="abc">He is a good boy </br> he is also kind'</span>
答案 0 :(得分:3)
var nStr = str.replace("-", "_");
因此,在每次迭代中,您要替换原始字符串中的第一个找到的-
字符 ,而不是替换已经替换掉的字符的字符串。您可以仅对一个重新分配的变量调用.replace
:
function kebabToSnake(str) {
var idNum = str.length;
for(var i = 0; i < idNum; i++) {
str = str.replace("-", "_");
}
return str;
}
console.log(kebabToSnake('ab-cd-ef'));
(请注意,您应该从0
迭代到str.length - 1
,而不是从0
迭代到str.length
)
或者,更优雅地,很多,使用全局正则表达式:
function kebabToSnake(str) {
return str.replace(/-/g, '_');
}
console.log(kebabToSnake('ab-cd-ef'));