📅  最后修改于: 2023-12-03 14:42:32.699000             🧑  作者: Mango
在 JavaScript 中,我们可以使用包含子字符串的三种方法来判断字符串是否包含搜索字符串。这三种方法分别是:indexOf()
,includes()
和search()
。 下面让我们来一一介绍每个方法。
indexOf()
方法indexOf()
方法在字符串中查找给定的子字符串,并返回子字符串第一次出现的位置的索引。如果子字符串没有出现,则返回 -1。 以下是 indexOf()
方法的语法和示例代码:
Syntax: string.indexOf(searchValue, fromIndex)
Example: const str = 'JavaScript 字符串包含子字符串 - JavaScript';
console.log(str.indexOf('JavaScript')); // 0
console.log(str.indexOf('string')); // 12
console.log(str.indexOf('Java', 1)); // -1
在上面的示例中,第一个 console.log()
计算的是 'JavaScript' 在字符串的索引位置。 第二个 console.log()
计算的是字符串中 'string' 的第一次出现位置。 第三个 console.log()
的第二个参数从 1 开始搜索,因此找不到 'Java' 并返回 -1。
includes()
方法includes()
方法用于判断一个字符串是否包含在另一个字符串中,如果包含则返回 true
,不包含则返回 false
。以下是 includes()
方法的语法和示例代码:
Syntax: string.includes(searchString, position)
Example: const str = 'JavaScript 字符串包含子字符串 - JavaScript';
console.log(str.includes('JavaScript')); // true
console.log(str.includes('string')); // true
console.log(str.includes('Java', 1)); // false
在上面的示例代码中,第一个 console.log()
计算的是 'JavaScript' 是否被包含在字符串中。 第二个 console.log()
计算的是 'string' 是否被包含在该字符串中。 第三个 console.log()
返回 false 是因为从位置 1 开始搜索,无法找到 'Java'。
search()
方法search()
方法用于返回字符串中与正则表达式匹配的第一个子串的位置。 如果没有找到匹配的子串,则将返回 -1。 以下是 search()
方法的语法和示例代码:
Syntax: string.search(regexp)
Example: const str = 'JavaScript 字符串包含子字符串 - JavaScript';
console.log(str.search('JavaScript')); // 0
console.log(str.search('string')); // 12
console.log(str.search(/Java/)); // -1
在上面的示例代码中,第一个 console.log()
计算的是 'JavaScript' 在字符串中的位置。 第二个 console.log()
计算的是 'string' 在该字符串中的位置。 第三个 console.log()
返回的结果是 -1 是因为正则表达式 /Java/
没有匹配到相应的子字符串。
上述三个方法都是用于检查一个字符串是否包含子字符串的。 indexOf()
方法和 includes()
方法都以非常相似的方式完成相同的任务,这些方法返回的结果也类似,只是返回值的类型不同。 而 search()
方法以正则表达式的形式进行搜索,也可以用来实现相同的任务。 程序员在编写代码时,可以根据需求选择使用这三个方法中的任何一个方法去检测字符串中是否包含某个子字符串。