我有一个字符串,要搜索的单词数组:

strng = "I have been working here since last six months"
text = ["since", "till", "until"]
result = "since"

我想在strng中搜索数组中的每个单词,并且在strng中找到任何单词时,必须将其分配给结果。怎么做?
我正在使用.search()搜索单个单词,但是如何搜索多个单词?请帮忙。
我是新手。

最佳答案

您可以遍历关键字数组或使用正则表达式。前者很简单,后者更优雅;-)

您的正则表达式应该类似于“/ since | till | until /”,但我现在不确定100%。如果您打算使用正则表达式,则应该对其进行一些研究,这是一个入门指南:http://www.w3schools.com/js/js_obj_regexp.asp

编辑:刚刚尝试过,刷新了我的记忆。最简单的解决方案是使用.match()而不是search()。归结为一类:

strng.match(/since|till|until/) // returns ["since"]

使用.match()会为您提供一个阵列,其中包含所有出现的模式,在这种情况下,第一个且唯一的匹配项是该阵列的第一个元素。

08-17 08:38