How to search for multiple texts in a string, using java script?
Solution 1
You can either loop over your array of keywords or use a regular expression. The former is simple, the latter is more elegant ;-)
Your regex should be something like "/since|till|until/", but I'm not 100% sure right now. You should research a bit about regexes if you're planning to use them, here's a starter: http://www.w3schools.com/js/js_obj_regexp.asp
EDIT: Just tried it and refreshed my memory. The simplest solution is using .match(), not search(). It's boils down to a one-liner then:
strng.match(/since|till|until/) // returns ["since"]
Using .match() gives you an array with all occurrences of your pattern, in this case the first and only match is the first element of that array.
Solution 2
I think regular expression is the simple solution for that. Use match() instead of search().
if you write it as,
strng = "I have been working here since last six months"
text = /(since)|(till)|(here)/
result= strng.match(text); // result will have an array [since,since,]
correct solution is to write,
result=strng.match(text)[0];
Solution 3
You can loop through each item in text
with .search()
like this
for (var i=0; i < text.length; i++)
{
if (-1 != strng.search(text[i]))
{
result = text[i];
break;
}
}
MHS
Updated on June 08, 2022Comments
-
MHS about 2 years
I have a string, an array of words to be searched for:
strng = "I have been working here since last six months" text = ["since", "till", "until"] result = "since"
I want to search for every word in array, in
strng
and when any of it is found in the strng, it must be assigned to result. how to do it?
I am using.search()
for searching a single word, but how to search for multiple words? please help.
I am a Newbie.