¿Cómo comprobar si una cadena contiene una subcadena en JavaScript?
Una subcadena es una porción de una cadena. Representa una secuencia de caracteres extraídos de una cadena más grande. Una subcadena puede ser tan corta como un solo carácter o extenderse a varios caracteres.
Existen varios métodos para comprobar si una cadena contiene una subcadena o no:
Tabla de contenidos
- Comprobando la subcadena con el método include()
- Comprobando la subcadena con el método test()
- Comprobando la subcadena con el método match()
- Comprobando la subcadena con el método indexOf()
- Comprobando la subcadena con el método search()
Comprobando la subcadena con el método include()
javascript cadena.incluye() El método se puede utilizar para comprobar si una cadena contiene una subcadena especificada. Vuelve verdadero si la subcadena está presente. Este método distingue entre mayúsculas y minúsculas.
Sintaxis:
string.includes(searchvalue, start)
Ejemplo: Este ejemplo utiliza el método include() de JavaScript para comprobar la subcadena en una cadena.
JavaScript let str = 'Hello there! Welcome to techcodeview.com'; let flag = str.includes('Geeks'); console.log(flag); Producción
true
Explicación:
El código comprueba si la cadena ¡Hola! Bienvenido a techcodeview.com contiene la subcadena Geeks. Asigna el resultado de esta verificación a la variable 'flag' y lo registra en la consola.
Comprobando la subcadena con el método test()
En este método usaremos el prueba() método para probar la subcadena en la cadena. Este método devuelve verdadero si la subcadena encontrada devuelve falso.
Sintaxis:
/sub-string/.test( String );
Ejemplo: Este ejemplo utiliza el método test() de JavaScript para comprobar la subcadena en una cadena.
JavaScript let str = 'Hello there! Welcome to geeksforgeeks'; let flag = /geeks/.test(str); console.log(flag);
Producción
true
Explicación:
El código prueba si la cadena ¡Hola! Bienvenido a geeksforgeeks contiene la subcadena geeks usando una expresión regular. Asigna el resultado a flag> y lo registra en la consola.
C buscando subcadena con el método match()
En este enfoque, JavaScript método string.match() con una expresión regular comprueba si existe una subcadena en la cadena y devuelve un valor nulo si no se encuentra o una serie de coincidencias si se encuentra.
Sintaxis:
string.match(regExp)
Ejemplo: En este ejemplo, utilizamos el enfoque explicado anteriormente.
JavaScript let str = 'Hello there! Welcome to geeksforgeeks'; let substring = 'there'; let containsSubstring = str.match(new RegExp(substring)) !== null; console.log(containsSubstring);
Producción
true
Explicación:
El código busca la subcadena dentro de la cadena ¡Hola! Bienvenido a geeksforgeeks usando una expresión regular. Asigna el resultado a `containsSubstring` y lo registra.
Comprobando la subcadena con Método indexOf()
javascript índice de() El método devuelve la posición de una subcadena en una cadena o -1 si no se encuentra, lo que nos permite verificar la existencia de la subcadena.
Sintaxis:
str.indexOf(searchValue , index);
Ejemplo: Aquí, utilizamos el enfoque explicado anteriormente.
JavaScript let str = 'Hello there! Welcome to geeksforgeeks'; let substring = 'geeks'; let result = str.includes(substring); console.log(result);
Producción
true
Explicación:
El código comprueba si la cadena ¡Hola! Bienvenido a geeksforgeeks contiene la subcadena geeks. Asigna el resultado a 'resultado' y lo registra.
Comprobando la subcadena con el método de búsqueda()
En este enfoque, el buscar() El método se llama en la cadena str con un objeto de expresión regular creado a partir del valor de la subcadena usando la nueva RegExp(subcadena). Busca la primera aparición de la subcadena dentro de la cadena. Al verificar si el resultado no es igual a -1, determinamos si la subcadena existe en la cadena. El resultado booleano se almacena en la variable containsSubstring y se imprime en la consola.
Sintaxis:
string.search(new RegExp)
Ejemplo: Aquí, utilizamos el enfoque explicado anteriormente.
JavaScript let str = 'Hello there! Welcome to geeksforgeeks' let substring = 'geeks'; let result = str.search(new RegExp(substring)) !== -1; console.log(result);
Producción
true
Explicación:
Se crea una expresión regular usando new RegExp(substring)> para que coincida con los geeks de la subcadena. El search()> El método se utiliza para encontrar el índice de substring> dentro str> . El resultado booleano (si substring> se encuentra en str> ) está asignado a result> .
Podemos verificar si una cadena contiene una subcadena usando Loadsh
Puede verificar la subcadena usando el método Lodash _.strContains(). En este enfoque podemos usar el método lodash _.strContains() Verificará la presencia de la subcadena dada en la cadena dada y devolverá el valor booleano.
// Defining lodash contrib variable let _ = require('lodash-contrib'); let bool = _.strContains('techcodeview.com', 'Geeks'); console.log('The String contains the ' + 'searched String : ', bool); Comprobando la subcadena con el método slice()
En este método, usaremos el método slice() para extraer subcadenas de la cadena principal y compararlas con el valor de búsqueda. Este método recorre en iteración la cadena principal, extrae una subcadena de la misma longitud que el valor de búsqueda en cada posición y verifica la igualdad. Si se encuentra una coincidencia, devuelve verdadero.
Nota: Necesita instalar el paquete lodash-contrib para ejecutar este código.
Ejemplo : Este ejemplo demuestra el uso del método slice() para comprobar si hay una subcadena en una cadena.
javascript function containsSubstring(mainString, searchValue) { let searchLength = searchValue.length; let mainLength = mainString.length; for (let i = 0; i <= mainLength - searchLength; i++) { if (mainString.slice(i, i + searchLength) === searchValue) { return true; } } return false; } let str = 'Hello there! Welcome to geeksforgeeks'; let substring = 'geeks'; let result = containsSubstring(str, substring); console.log(result); Producción
true