JavaScript 如何检查字符串是否包含子字符串
在本文中,我们将检查一个字符串是否包含指定的子字符串。子字符串是一个字符串的一部分,它表示从较大的字符串中提取的字符序列。子字符串可以仅包含一个字符,也可以延伸到多个字符。
有几种方法可以检查一个字符串是否包含子字符串:
- 使用includes()方法
- 使用test()方法
- 使用带有正则表达式的match()方法
- 使用indexOf()方法
- 使用带有正则表达式的search()方法
方法1:使用includes()方法
includes()方法可以用于检查一个字符串是否包含指定的子字符串。如果子字符串存在,则返回true。该方法区分大小写。
语法:
string.includes(searchvalue, start)
示例: 本示例使用JavaScript的includes()方法来检查字符串中的子字符串。
let str = "Hello there! Welcome to GeeksforGeeks";
let flag = str.includes("Geeks");
console.log(flag);
输出
true
方法2:使用test()方法
在这种方法中,我们将使用test()方法来测试字符串中的子字符串。如果找到子字符串,则此方法返回true,否则返回false。
语法:
/sub-string/.test( String );
示例: 此示例使用JavaScript的test()方法来检查字符串中是否有子字符串。
let str = "Hello there! Welcome to geeksforgeeks";
let flag = /geeks/.test(str);
console.log(flag);
输出
true
方法3:使用match()方法和正则表达式
在这种方法中,match()方法与正则表达式一起使用,检查字符串中是否存在子串,如果找不到则返回null,如果找到则返回一个匹配数组。
语法:
string.match(regExp)
示例: 在这个示例中,我们使用了上述解释的方法。
let str = "Hello there! Welcome to geeksforgeeks";
let substring = "there";
let containsSubstring = str.match(new RegExp(substring)) !== null;
console.log(containsSubstring);
输出
true
方法4:使用indexOf()方法
indexOf()方法返回字符串中子字符串的位置,如果未找到则返回-1,从而可以检查子字符串的存在。
语法:
str.indexOf(searchValue , index);
示例:
let str = "Hello there! Welcome to geeksforgeeks";
let substring = "geeks";
let result = str.includes(substring);
console.log(result);
输出
true
方法5:使用search()方法与正则表达式
在这种方法中,使用从子字符串值创建的正则表达式对象对str字符串调用search()方法。它在字符串中搜索子字符串的第一个出现位置。通过检查结果是否不等于-1,我们确定子字符串是否存在于字符串中。布尔结果存储在containsSubstring变量中,并打印到控制台。
语法:
string.search(new RegExp)
示例: 在这个示例中,我们使用了上面解释的方法。
let str = "Hello there! Welcome to geeksforgeeks"
let substring = "geeks";
let result = str.search(new RegExp(substring)) !== -1;
console.log(result);
输出
true
极客教程