Ahm*_*lla 0 javascript arrays string node.js
我的脚本从用户收到一个包含城市名称或多个的字符串,我想提取城市名称.我当前的代码将字符串拆分为基于空格的单词,但如果城市名称是两个不起作用的单词.我可以有一个预期的城市名称数组,我希望匹配该数组的字符串的城市名称,有没有可能的方式,而不必使用神经语言处理技术?
例
var cities = ['Cairo', 'Dubai', 'San Francisco']
// possible strings
var user_string = 'traveling to Cairo' // result ['Cairo']
var user_string = 'will leave San Francisco to Dubai late' // result ['San Francisco', 'Dubai']
Run Code Online (Sandbox Code Playgroud)
创建RegExp并使用match
user_string.match(new RegExp( cities.join("|"), "gi" ) )
Run Code Online (Sandbox Code Playgroud)
演示
var fnMatches = ( cities, str ) => str.match(new RegExp( cities.join("|"), "gi" ) );
var cities = ['Cairo', 'Dubai', 'San Francisco'];
console.log( fnMatches( cities, "traveling to Cairo" ) );
console.log( fnMatches( cities, "will leave San Francisco to Dubai late" ) );Run Code Online (Sandbox Code Playgroud)