📅  最后修改于: 2023-12-03 15:27:55.272000             🧑  作者: Mango
在 Javascript 中,我们可以使用字符串包含方法来判断一个字符串是否包含另一个字符串。在这篇文章中,我们将介绍 Javascript 中用于字符串包含的几种方法,并为您提供基于不同情况下选择哪种方法的建议。
includes() 方法被用于确定一个字符串是否包含在另一个字符串中。它是 ES6 引入的,支持的浏览器包括 Chrome、Firefox、Edge、Safari、Opera 和其他一些现代浏览器。
str.includes(searchString)
str.includes(searchString, position)
searchString
:要在原始字符串中搜索的字符。如果没有提供,则使用空字符串。position
(可选):从字符串的哪个位置开始搜索。如果没有指定,则默认为0。如果字符串包含搜索的字符,则返回 true
,否则返回 false
。
const str = 'JavaScript is awesome';
console.log(str.includes('awesome')); // true
console.log(str.includes('not')); // false
console.log(str.includes('is', 5)); // false
indexOf() 方法返回在字符串中找到的第一个匹配项的索引。如果未找到,则返回-1。这个方法在旧版本的 Javascript 中已经存在了,因此在旧浏览器中也可以使用。
str.indexOf(searchValue)
str.indexOf(searchValue, fromIndex)
searchValue
:要在原始字符串中搜索的字符。如果没有提供,则使用空字符串。fromIndex
(可选):从字符串的哪个位置开始搜索。如果没有指定,则默认为0。如果找到了搜索的字符,则返回该字符第一次出现的索引。如果未找到任何匹配项,则返回-1。
const str = 'JavaScript is awesome';
console.log(str.indexOf('awesome')); // 13
console.log(str.indexOf('not')); // -1
console.log(str.indexOf('is', 5)); // 11
search() 方法用于执行正则表达式搜索,并返回匹配项的第一个索引。该方法不接受一个纯字符串作为参数,但是,您可以通过创建正则表达式和使用它作为参数来模拟它。
str.search(regexp)
regexp
:要搜索的正则表达式。如果找到了搜索的字符,则返回该字符第一次出现的索引。否则返回-1。
const str = 'JavaScript is awesome';
console.log(str.search(/awesome/g)); // 13
console.log(str.search(/not/g)); // -1
console.log(str.search(/is/g)); // 4
如果您的代码是在现代浏览器中运行的,并且您不需要考虑与旧版本的 Javascript 兼容性,那么请使用 includes() 方法。如果您的代码需要与旧版本的 Javascript 兼容,并且您不需要执行复杂的字符串匹配操作,那么请使用 indexOf() 方法。如果您需要使用正则表达式进行字符串匹配,则请使用 search() 方法。
在 Javascript 中,您可以通过 includes()、indexOf()和search() 方法来确定一个字符串是否包含另一个字符串。建议使用 includes() 方法,但如果您需要与旧版本的 Javascript 兼容,或者需要使用正则表达式进行字符串匹配,则请使用其他两个方法。