Normalmente, eu esperaria um String.contains()
método, mas não parece haver um.
Qual é uma maneira razoável de verificar isso?
javascript
string
substring
string-matching
Peter O.
fonte
fonte
indexOf()
ele é ...string.toUpperCase().includes(substring.toUpperCase())
/regexpattern/i.test(str)
-> bandeira i significa caso insensibilidadeExiste um
String.prototype.includes
no ES6 :Observe que isso não funciona no Internet Explorer ou em outros navegadores antigos com suporte ES6 incompleto ou inexistente. Para fazê-lo funcionar em navegadores antigos, convém usar um transpiler como Babel , uma biblioteca de shim como es6-shim ou esse polyfill do MDN :
fonte
"potato".includes("to");
e execute Babel."boot".includes("T")
isfalse
Outra alternativa é o KMP (Knuth – Morris – Pratt).
O algoritmo KMP procura por uma substring de comprimento- m em uma cadeia de comprimento- n no pior momento O ( n + m ), em comparação com o pior caso de O ( n ⋅ m ) para o algoritmo ingênuo, portanto, usar o KMP pode seja razoável se você se preocupa com a pior complexidade do tempo.
Aqui está uma implementação JavaScript do Project Nayuki, obtida em https://www.nayuki.io/res/knuth-morris-pratt-string-matching/kmp-string-matcher.js :
fonte