javascript - 在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));
})
解决方案
您可以使用以下方法。
const CSVToJSON = require('csvtojson');
CSVToJSON().fromFile("./locations.csv").then(source => {
var found = source.filter(function(v, i){
return ((v["name"].match(/king/g)));
});
推荐阅读
- python - 在排序一个列表期间将不同列表中的相关元素保持在一起
- c# - 如何对通用列表对象进行排序
- javascript - 向和从 js 服务器发送数据的基本方法?
- json - 使用 Pyspark 处理 JSON 结构
- amazon-web-services - 为什么角色假设应该在 lambda 内部完成?
- html - 如何将数值绑定到 CSS 以创建时间线?
- docker - 如何为 docker compose 环境变量设置运行时变量
- javascript - 仅在 Javascript 中具有不同段落的动态 Div
- tsql - 表格模型中的测量列未在浏览器中显示正确的值
- javascript - 调用此函数时如何获取返回值?