如何在JavaScript中检查字符串是否包含子字符串?

本文根据StackOverflow的问题How to check whether a string contains a substring in JavaScript?中的高票回答翻译得来。
以下是当前可行的方法:

  1. ES6—includes()方法
let string = 'foo', 
substring = 'oo';
string.includes(substring)  //true
  1. ES5或更老的版本—indexOf()方法
let string = 'foo', 
substring = 'oo';
string.indexOf(substring) !== -1  //true

String.prototype.indexOf()返回一个字符串在另一个字符串中的位置,如果不包含,则返回-1。

  1. search()方法
let string = 'foo',
expr = /oo/;
string.search(expr) !== -1  //true
  1. lodash includes()
let string = 'foo',
substring = 'oo';
_.includes(string, substring)
  1. RegExp
let string = 'foo',
expr = /oo/;
expr.test(string) //true
  1. Match
let string = 'foo',
expr = /oo/;
string.match(expr)

总结性能测试结果显示,如果考虑速度,那么 indexOf 的方式可能是最佳选择。

猜你喜欢

转载自blog.csdn.net/cc18868876837/article/details/85233796