在本文中,我们研究了多种方法来快速检查字符串是否包含 JavaScript 中的子字符串。
1.字符串includes()方法
要检查字符串是否包含子字符串,我们可以在字符串上调用 includes() 方法,将子字符串作为参数传递,例如 str.includes(substr)。 如果字符串包含子字符串,includes() 方法返回 true,否则返回 false。
const str = 'Bread and Milk';const substr1 = 'Milk';
const substr2 = 'Tea';console.log(str.includes(substr1)); // trueconsole.log(str.includes(substr2)); // false
小费
要执行不区分大小写的检查,请在对字符串调用 includes() 之前将字符串和子字符串都转换为小写。
const str = 'Bread and Milk';const substr = 'milk';console.log(
str.toLowerCase().includes(substr.toLowerCase())
); // true
2. 字符串 indexOf() 方法
我们还可以使用 indexOf() 方法来检查字符串是否包含子字符串。 我们在字符串上调用 indexOf() 方法,将子字符串作为参数传递。 然后我们将结果与-1进行比较。 例如:
const str = 'Bread and Milk';const substr1 = 'Milk';
const substr2 = 'Tea';console.log(str.indexOf(substr1) > -1); // trueconsole.log(str.indexOf(substr2) > -1); // false
indexOf() 方法在字符串中搜索一个值并返回该值第一次出现的索引。 如果找不到该值,则返回 -1。
const str = 'Bread and Milk';const substr1 = 'Milk';
const substr2 = 'Tea';console.log(str.indexOf(substr1)); // 10
console.log(str.indexOf(substr2)); // -1
这就是为什么我们将 indexOf() 的结果与 -1 进行比较以检查子字符串是否在字符串中。
小费
要执行不区分大小写的检查,请在对字符串调用 indexOf() 之前将字符串和子字符串都转换为小写。
const str = 'Bread and Milk';const substr = 'milk';console.log(
str.toLowerCase().indexOf(substr.toLowerCase()) > -1
); // true
3.正则表达式匹配
我们可以根据正则表达式模式测试字符串以确定它是否包含
const str = 'Bread and Milk';console.log(/Milk/.test(str)); // true
console.log(/Tea/.test(str)); // false
使用正则表达式匹配允许我们轻松指定复杂的模式来搜索字符串。
const str = 'Bread and Milk';// Contains 'sand', 'land', or 'and'?
console.log(/[sl]?and/.test(str)); // true// Contains 'book0', 'book1', ..., 'book8' or 'book9'?
console.log(/book(\d)/.test(str)); // false
关注七爪网,获取更多APP/小程序/网站源码资源!
,