首页 > 解决方案 > 如何过滤字符串中的确切单词?

问题描述

我的主要目标是检查字符串是否包含单词数组。如果字符串在单词前面包含 $ ,我不希望它检查字符串中的单词数组并希望直接使用 console.log 。

我遇到的问题是它没有检查“确切的单词”。例如,如果您输入 E,则应该显示文本,因为没有仅包含“E”的单词,但是它没有显示。

例如:

const res = `EU, U.S. REACH DEAL TO RESOLVE BOEING-AIRBUS TRADE DISPUTE
$BA`;
const filters = ["E", "OPEC", "Repo"];
if (!filters.some(element => res.includes(element))) {
  console.log(res);
}

另一种方法,我在想也许使用 split 方法并检查每个数组项是否是过滤词。

标签: javascript

解决方案


使用带有表达式主体的 ES6 Array.filter() 和箭头函数:

var words = ['get', 'help', 'set', 'moon', 'class', 'code', 'Get',  ];

var letter = 'e';

var word = "get";

const output = words.filter(x=>x.includes(letter));
console.log(output);

const output2 = words.filter(x => x.toLowerCase().includes(word));
console.log(output2);


推荐阅读