过滤数组中的条目

时间:2016-03-03 23:40:05

标签: javascript arrays regex filter

我有一个包含以下条目的数组:

abc / def
abc.def
! abc def
abc def ?

如何删除未附加到单词的非字母字符?

所以在我的情况下,只剩下以下条目:

abc def
abc.def
abc def
abc def

我尝试使用以下代码,但它没有帮助:

arr = arr.filter(function(v) {
    return v.match(/[a-zA-Z]*/)
});

2 个答案:

答案 0 :(得分:1)

假设这些都是字符串,您想使用map

array.map(function(string) {
    return string.replace(/\W\s+/g, '');
});

使用非单词字符正则表达式\W快速删除任何特殊字符。

答案 1 :(得分:0)

请尝试:

result = subject.replace(/[^a-zA-Z0-9\s](?=\s|$)/img, "");

其中subject包含要过滤的实际文字。

参见演示https://regex101.com/r/mW2pJ7/1

  

<强> INPUT

abc / def`
abc.def`
! abc def`
abc def ?`
  

<强>输出

  • abc def
  • abc.def
  • abc def
  • abc def