嘿伙计们,我目前正在学习javascript,我需要将"-"替换为"_"。 例如:"Hello-World" ==> "Hello_World" 我厌倦了下面的代码它不起作用,我想知道为什么这种方法是错误的,
function kS(n){
j=n.length;
for(i=0;i<j;i++){
if(n[i]=="-")
{
n[i]="_";
console.log(n);
}
}
}
只需使用替换
console.log("Hello-World".replace('-','_'))
您可以使用String.replace
来实现这一点。如果将正则表达式输入与修饰符结合使用g
它将匹配所有出现的情况。https://regex101.com/
是测试此类正则表达式的好地方。
var myString = "hello-word";
myString = myString.replace(/-/g, '_');
如果你必须使用循环来做,并且被允许使用ES2015或更高版本,你也可以这样写:
var myString = "hello-word";
var newString = [...myString].map(c => c === '-' ? '_' : c).join('');
> 刺痛是不可变的。您可以将字符串转换为字符数组,并检查并替换characters
数组中的项目。
最后返回一个连接的数组。
顺便说一句,拼写问题,例如length
和未声明的变量在 Javascript 中是全局的,应该避免。
function kS([...characters]) {
var l = characters.length;
for (var i = 0; i < l; i++) {
if (characters[i] === "-") characters[i] = "_";
}
return characters.join('');
}
console.log(kS('1-2-3'));