我的代码:
function removeFromString(mystring,char){
let regex = new RegExp(char, 'g');
let string;
for(let i; i< mystring.length; i++){
string = mystring.replace(regex, ''));
}
console.log(mystring);
}
removeFromString('Hello How are you','o');
这不起作用。 知道我做错了什么吗?
答案 0 :(得分:4)
方法String.replace()
不会更改字符串,而是创建新字符串。返回替换结果。
此外,由于您在正则表达式中使用了g
标志,它将替换字符串中的所有匹配项,因此您不需要for循环。
function removeFromString(mystring, char) {
const regex = new RegExp(char, 'g');
return mystring.replace(regex, '');
}
console.log(removeFromString('Hello How are you', 'o'));
你也可以用循环来实现同样的事情,通过重建原始字符串中不是char
的所有字符的字符串:
function removeFromString(mystring, char) {
let string = '';
for (let i = 0; i < mystring.length; i++) {
if(mystring[i] !== char) string += mystring[i];
}
return string;
}
console.log(removeFromString('Hello How are you', 'o'));
答案 1 :(得分:1)
您只需使用replace
即可。不需要循环。喜欢
var str = "How are you?";
console.log(str.replace(/o/g, ""))
g
标志用于替换所有出现次数
或只是为了好玩。
var str = "How are you?";
console.log(str.split("o").join(''))
您想要的角色
split
字符串。这会给你一个数组。现在,您可以使用''