从字符串中删除字符的函数

时间:2019-03-26 22:44:29

标签: javascript loops

我想要一个函数,以去除条纹上的字符

function remove(str, charToRmv){}

我知道如何使用replace split join

var a = "This*Is*A*String"
console.log(a.replace(/\*/g, ""));

var a = "This*Is*A*String"
console.log(a.split(/\*/g).join(''));

var a = "strinASrting"
console.log(a.replace(/A/g, ""));

var a = "strinASrting"
console.log(a.split('A').join(''));

但是我希望它使用循环来删除该字符

function remove(str, rmv){

      }

我希望("This*Is*A*String", "*")的输出为'ThisIsAString'

我希望("strinASrting", "A")的输出为'strinString'

1 个答案:

答案 0 :(得分:2)

只需遍历字符串的每个字符,并且不包括给定的char,如下所示:

let remove_char = function(str, ch) {
  let newString = "";
  for (let i = 0; i < str.length; i++) {
    if (str[i] !== ch)
      newString += str[i];
  }
  return newString;
}

另一个实现,带有replace

let remove_char = function(str, ch) {
  while (str.indexOf(ch) >= 0)
    str = str.replace(ch, "")
  return str;
}
alert(remove_char("THIS*IS*ME", "*"));