我有一个字符串,要搜索的单词数组:
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()会为您提供一个阵列,其中包含所有出现的模式,在这种情况下,第一个且唯一的匹配项是该阵列的第一个元素。