Por lo general, esperaría un String.contains()
método, pero no parece haberlo.
¿Cuál es una forma razonable de verificar esto?
javascript
string
substring
string-matching
Peter O.
fuente
fuente
indexOf()
es ...string.toUpperCase().includes(substring.toUpperCase())
/regexpattern/i.test(str)
-> i flag significa insensibilidad a mayúsculas y minúsculasHay un
String.prototype.includes
en ES6 :Tenga en cuenta que esto no funciona en Internet Explorer o en otros navegadores antiguos sin compatibilidad con ES6 o incompleta. Para que funcione en navegadores antiguos, es posible que desee utilizar un transpilador como Babel , una biblioteca de shim como es6-shim o este polyfill de MDN :
fuente
"potato".includes("to");
y pásalo por Babel."boot".includes("T")
esfalse
Otra alternativa es KMP (Knuth – Morris – Pratt).
El algoritmo KMP busca una subcadena de longitud m en una cadena de longitud n en el peor de los casos O ( n + m ), en comparación con el peor de los casos de O ( n ⋅ m ) para el algoritmo ingenuo, por lo que usar KMP puede Sea razonable si le preocupa la complejidad del tiempo en el peor de los casos.
Aquí hay una implementación de JavaScript del Proyecto Nayuki, tomada de https://www.nayuki.io/res/knuth-morris-pratt-string-matching/kmp-string-matcher.js :
fuente