首页 > 解决方案 > 在javascript中使用array.filter的正则表达式

问题描述

我正在尝试使用正则表达式来过滤已放入对象数组的 csv 文件中的名称列。如果我输入确切的值,一切正常。

我希望“国王”匹配的值如下:

金刚, 金刚, 金刚, king_kong, king11, kongking, kong-king, kong_king, kong king, 11king

我尝试过使用过滤器和查找方法,但我想使用过滤器返回多个值(如果存在)。我已经尝试了以下正则表达式,但如果它甚至是正确的,则无法找出正确的语法。

const CSVToJSON = require('csvtojson');
const user = "king";

CSVToJSON().fromFile("./locations.csv").then(source => {
    var found = source.filter(function(v, i){
    return ((v["name"]== /\bking.*/g));
})

标签: javascriptregexfilter

解决方案


您可以使用以下方法。

const CSVToJSON = require('csvtojson');


CSVToJSON().fromFile("./locations.csv").then(source => {
    var found = source.filter(function(v, i){
    return ((v["name"].match(/king/g)));
});

推荐阅读