使用Javascript删除带有通配符的字符串中的值

时间:2018-03-29 13:45:06

标签: javascript jquery regex

我试图返回一个逗号分隔的字符串,而不包含以“非”字符结尾的项目。

来源:

id = '2345,45678,3333non,489,2333non';  

预期结果:

id = '2345,45678,489'; 

我使用的是我在此处找到的代码: remove value from comma separated values string

var removeValue = function(list, value, separator) {
  separator = separator || ",";
  var values = list.split(separator);
  for (var i = 0; i < values.length; i++) {
    if (values[i] == value) {
      values.splice(i, 1);
      return values.join(separator);
    }
  }
  return list;
}

有没有办法让行(values[i] == value)使用通配符?

1 个答案:

答案 0 :(得分:3)

您也可以在不使用regex的情况下获得该结果:

&#13;
&#13;
var id = '2345,45678,3333non,489,2333non';  
var resArray = id.split(',').filter((item) => item.indexOf('non') === -1);
var resString = resArray.toString();
console.log(resString);
&#13;
&#13;
&#13;

如果您不想使用箭头功能:

&#13;
&#13;
var id = '2345,45678,3333non,489,2333non';  
var resArray = id.split(',').filter(function(item) {
   return item.indexOf('non') === -1;
});
var resString = resArray.toString();
console.log(resString);
&#13;
&#13;
&#13;