Check if text is in a string

Viewed 32798

I want to check is some text is in a string for instance i have a string

str = "car, bycicle, bus"

and I have another string

str2 = "car"

I want to check if str2 is in str.

I am a newbie in javascript so please bear with me :)

Regards

7 Answers

ES5

if(str.indexOf(str2) >= 0) {
   ...
}

ES6

if (str.includes(str2)) {

}

Use the builtin .includes() string method to check for the existence of sub-string.
It return boolean which indicates if the sub-string included or not.

const string = "hello world";
const subString = "world";

console.log(string.includes(subString));

if(string.includes(subString)){
   // SOME CODE
}

You can use this:

'a nice string'.includes('nice')

If you just want to check substring in a string you can use indexOf but if you want to check if the word is in the string or not, the other answers might not work correctly for example:

str = "carpet, bycicle, bus"
str2 = "car"
What you want car word is found not car in carpet
if(str.indexOf(str2) >= 0) {
  // Still true here
}
// OR 
if(new RegExp(str2).test(str)) {
  // Still true here 
}

So you can improve the regex a bit to make it work

str = "carpet, bycicle, bus"
str1 = "car, bycicle, bus"
stringCheck = "car"
// This will false
if(new RegExp(`\b${stringCheck}\b`).test(str)) {
  
}
// This will true
if(new RegExp(`\b${stringCheck}\b`,"g").test(str1)) {
  
}
Related