一、`indexOf()`方法
在JS中,我们可以使用`indexOf()`方法来判断一个字符串中是否包含另一个字符串,该方法会返回目标字符串在源字符串中第一次出现的位置。如果没有匹配到目标字符串,则返回-1。
const str = "hello world"; console.log(str.indexOf("world")); // 6 console.log(str.indexOf("hello")); // 0 console.log(str.indexOf("test")); // -1
当目标字符串在源字符串中出现多次时,该方法只返回第一次出现的位置。
const str = "hello world, world"; console.log(str.indexOf("world")); // 6 console.log(str.lastIndexOf("world")); // 12
二、`includes()`方法
`includes()`方法也可以用来判断一个字符串是否包含另一个字符串,该方法会返回一个布尔值,如果源字符串包含目标字符串,则返回true,否则返回false。
const str = "hello world"; console.log(str.includes("world")); // true console.log(str.includes("hello")); // true console.log(str.includes("test")); // false
三、`search()`方法
`search()`方法也可以用来判断一个字符串是否包含另一个字符串,该方法会返回一个目标字符串在源字符串中第一次出现的位置。如果没有匹配到目标字符串,则返回-1。
const str = "hello world"; console.log(str.search("world")); // 6 console.log(str.search("hello")); // 0 console.log(str.search("test")); // -1
四、正则表达式
使用正则表达式也可以判断一个字符串中是否包含另一个字符串。
const str1 = "hello world"; const str2 = "world hello"; const regex = /world/; console.log(regex.test(str1)); // true console.log(regex.test(str2)); // true
五、`match()`方法
`match()`方法也可以用于判断一个字符串中是否包含另一个字符串。该方法返回一个数组,其中包含了所有匹配到的字符串。
const str = "hello world, world"; console.log(str.match(/world/g)); // ["world", "world"] console.log(str.match(/test/g)); // null
总结
我们可以使用多种方式判断一个字符串中是否包含另一个字符串,其中`indexOf()`方法、`includes()`方法和`search()`方法是基于字符串的操作,而正则表达式和`match()`方法则更加强大,可以匹配更多的情况。