JavaScript 字符串 includes() 方法

JavaScript includes() 语法

includes() 是 JavaScript 字符串的一个方法,它用于判断当前字符串是否包含某个子串。

语法:

str.includes(subStr, start)

说明:

includes() 方法接收以下 2 个参数。

  • subStr(必选):表示你要查找的子串。
  • start(可选):表示查找的开始下标,默认值为 0。

includes() 方法会返回一个布尔值。如果能找到,则返回 true;如果找不到,则返回 false。

提示:

  • includes() 方法会严格区分大小写。
  • 字符串和数组都有 includes() 方法。对于数组的 include() 方法,另请参阅:JavaScript 数组 includes() 方法

JavaScript includes() 摘要

属于 JavaScript 查找字符串
使用频率
改变原字符串
官方文档 查看
MDN 查看

JavaScript includes() 示例

接下来,我们通过几个简单的例子来讲解一下 JavaScript includes() 方法是如何使用的。

示例 1:includes() 基本用法

const str = "Hello Lvye";

console.log(str.includes("lvye"));
console.log(str.includes("Lvye"));

运行结果如下。

false
true

分析:

includes() 方法会严格区分大小写,因此 str.includes("lvye") 返回的结果为 false。

示例 2:includes() 设置开始下标

const sentence = "Java is to JavaScript what Car is to Carpet.";

const check1 = sentence.includes("Java");
const check2 = sentence.includes("Java", 20);

console.log(check1);
console.log(check2);

运行结果如下。

true
false

分析:

第一个 includes() 没有指定开始位置,因此是从字符串开头搜索,由于可以找到 "Java",最终返回 true。

第二个 includes() 从索引位置 20 开始搜索,从该位置往后没有 "Java" 这个子字符串,因此返回 false。

示例 3:includes() 搜索空字符串

const str1 = "lvyenet";
const str2 = "";

const result1 = str1.includes("");
const result2 = str2.includes("");

console.log(result1);
console.log(result2);

运行结果如下。

true
true

分析:

无论原字符串是否为空,只要原字符串不是 nullundefined。当搜索空字符串 "" 时,includes() 方法都会返回 true。

示例 4:includes() 搜索不存在的子字符串

const str = "apple, banana, orange";
const result = str.includes("cherry");

console.log(result);

运行结果如下。

false

分析:

由于字符串 str 不包含 "cherry",因此 includes() 方法返回 false。

includes()、indexOf()、search() 的区别

includes()、indexOf()search() 这 3 个方法都可以用于判断字符串是否包含指定子串,它们之间的区别如下:

  • includes():会返回一个布尔值 (true 或 false),表示字符串是否包含指定子串。但 includes() 无法获取子串的索引位置。
  • indexOf():会返回指定子串在字符串中第一次出现的索引。如果未找到,则返回 -1。indexOf() 只支持字符串作为参数(不接受正则表达式)。我们可以通过判断返回值是否为 -1 来判断是否包含子串。
  • search():会返回第一个匹配正则表达式的子串的开始下标。如果未找到,则返回 -1。只支持正则表达式作为参数。如果传入字符串,它会先将其转换为正则表达式。此外,search() 无法获取所有匹配项的索引,也无法获取匹配到的实际子串信息(除了索引)。

在实际开发中,至于选择哪个方法,取决于我们的具体需求:

  • 如果只需要判断字符串是否包含某个子串,includes() 是最简洁明了的选择。
  • 如果需要知道子串第一次出现的位置,应该考虑使用 indexOf()。
  • 如果需要使用正则表达式进行模式匹配并获取第一个匹配位置,应该考虑使用 search()。

上一篇: String.fromCodePoint()

下一篇: startsWith()

给站长反馈

绿叶网正在不断完善中,小伙伴们如果发现任何问题,还望多多给站长反馈,谢谢!

邮箱:lvyenet@vip.qq.com

「绿叶网」服务号
绿叶网服务号放大
关注服务号,微信也能看教程。
绿叶网服务号