javascript - 如何从字符串中删除所有出现的任何给定字符?

标签 javascript regex string

我的代码:

    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');

这行不通。 知道我做错了什么吗?

最佳答案

方法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'));

关于javascript - 如何从字符串中删除所有出现的任何给定字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50108595/

相关文章:

javascript - 页面加载时的华丽弹出窗口

c# - 在 Linq 语句中使用 "Match"

python - 如何在 tn.read_until() 中包含正则表达式?

string - 包括传递字符串:Powershell脚本中-Replace Variable的符号

Javascript - 替换appendChild元素

javascript - "Click"一个带有VBA的javascript按钮

c++ - std::string::size() 是如何实现的?

java - 输入句子并打印出java中超过最小长度要求的单词数

javascript - AngularJS(前端)和 Laravel(后端)中 JSON/Arrays 中的 NULL

javascript - 1 个字符串,由 2 个单词组成,没有空格