Búsqueda de cadenas de JavaScript

método de JavaScript utilizado para buscar cadenas:

  • String.indexOf()
  • String.lastIndexOf()
  • String.startsWith()
  • String.endsWith()

String.indexOf()

indexOf() el método devuelve el texto especificado en la cadenaprimera vezaparece (la posición) del índice:

Ejemplo

let str = "Por favor, localiza dónde ocurre 'locate'!";
str.indexOf("locate")    // devuelve 7

Prueba por ti mismo

JavaScript comienza a contar desde cero.

0 es la primera posición de la cadena, 1 es la segunda, 2 es la tercera ......

String.lastIndexOf()

lastIndexOf() El método devuelve la última posición de aparición del texto especificado en la cadena:

Ejemplo

let str = "Por favor, localiza dónde ocurre 'locate'!";
str.lastIndexOf("locate")    // devuelve 21

Prueba por ti mismo

Si no se encuentra el textoindexOf() Y lastIndexOf() Ambos devuelven -1:

Ejemplo

let str = "Por favor, localiza dónde ocurre 'locate'!";
str.lastIndexOf("Bill")    // devuelve -1

Prueba por ti mismo

Ambos métodos aceptan un segundo parámetro como la posición de inicio de la búsqueda:

Ejemplo

let str = "Por favor, localiza dónde ocurre 'locate'!";
str.indexOf("locate", 15)    // devuelve 21

Prueba por ti mismo

lastIndexOf() El método busca hacia atrás (desde el final hasta el principio), lo que significa que si el segundo parámetro es 15Si se especifica, la búsqueda comienza desde la posición 15 y se realiza hasta el principio de la cadena.

Ejemplo

let str = "Por favor, localiza dónde ocurre 'locate'!";
str.lastIndexOf("locate", 15)    // devuelve 7

Prueba por ti mismo

String.search()

search() El método busca un valor especificado en la cadena y devuelve la posición de la coincidencia:

Ejemplo

let str = "Por favor, localiza dónde ocurre 'locate'!";
str.search("locate")     // devuelve 7

Prueba por ti mismo

¿Te has dado cuenta?

indexOf() Y search() ¿Estos dos métodos, ¿son iguales?

¿Aceptan los mismos parámetros y devuelven los mismos valores?

Estos dos métodos no son iguales. Las diferencias son las siguientes:

  • search() El método no puede aceptar un segundo parámetro de posición de inicio.
  • indexOf() El método no puede usar valores de búsqueda poderosos (expresiones regulares).

Aprenderás más sobre expresiones regulares en los capítulos posteriores.

String.match()

El método match() busca coincidencias en la cadena según la expresión regular y devuelve un objeto Array con las coincidencias.

Ejemplo 1

Buscar "ain" en la cadena:

let text = "La lluvia en ESPAÑA se queda principalmente en el llano";
text.match(/ain/g)    // devuelve el array [ain,ain,ain]

Prueba por ti mismo

Aprende más sobre expresiones regulares en el capítulo de JS RegExp.

Si la expresión regular no contiene el modificador g (búsqueda global), el método match() solo devolverá la primera coincidencia de la cadena.

Sintaxis

string.match(regexp)
regexp Obligatorio. El valor a buscar, que es una expresión regular.
Devuelve: Arreglo, que contiene coincidencias, cada coincidencia coincide con un elemento, si no se encuentra ninguna coincidencia, es null.

Ejemplo 2

Ejecute una búsqueda global sin distinción de mayúsculas ni minúsculas para "ain":

let text = "La lluvia en ESPAÑA se queda principalmente en el llano";
text.match(/ain/gi)   // Devuelve el array [ain, AIN, ain, ain]

Prueba por ti mismo

String.includes()

Si la cadena contiene el valor especificado,includes() El método devuelve true.

Ejemplo

let text = "Hello world, welcome to the universe.";
text.includes("world")    // Devuelve true

Prueba por ti mismo

Compatibilidad del navegador

Internet Explorer no admite String.includes().

Chrome IE Firefox Safari Opera
Chrome 41 Edge 12 Firefox 40 Safari 9 Opera 28
Marzo de 2015 Julio de 2015 Agosto de 2015 Octubre de 2015 Marzo de 2015

Sintaxis

string.includes(searchvalue, start)
searchvalue Necesario. Cadena a buscar.
start Opcional. Por defecto 0. Posición de inicio de la búsqueda.
Devuelve: Si la cadena contiene ese valor, devuelve true,de lo contrario devuelve false.
Versión de JS: ES6 (2015)

Verificar si la cadena contiene "world", comenzando desde la posición 12 de búsqueda:

let text = "Hello world, welcome to the universe.";
text.includes("world", 12)    // Devuelve false

Prueba por ti mismo

String.startsWith()

Si la cadena comienza con el valor especificado, entonces startsWith() El método devuelve true,de lo contrario devuelve false:

Ejemplo

let text = "Hello world, welcome to the universe.";
text.startsWith("Hello")   // Devuelve true

Prueba por ti mismo

Sintaxis

string.startsWith(searchvalue, start)

Valor del parámetro

Parámetro Descripción
searchvalue Necesario. Valor a buscar.
start Opcional. Por defecto 0. Posición de inicio de la búsqueda.

Ejemplo

let text = "Hello world, welcome to the universe.";
text.startsWith("world")    // Devuelve false
let text = "Hello world, welcome to the universe.";
text.startsWith("world", 5)    // Devuelve false
let text = "Hello world, welcome to the universe.";
text.startsWith("world", 6)    // Devuelve true

Prueba por ti mismo

Nota:startsWith() El método distingue entre mayúsculas y minúsculas.

Internet Explorer no admite startsWith() Método.

La primera versión del navegador completamente compatible es:

Chrome IE Firefox Safari Opera
Chrome 41 Edge 12 Firefox 17 Safari 9 Opera 28
Marzo de 2015 Julio de 2015 Agosto de 2015 Octubre de 2015 Marzo de 2015

String.endsWith()

Si la cadena termina con el valor especificado, entonces endsWith() El método devuelve true,de lo contrario devuelve false:

Ejemplo

Verificar si la cadena termina con "Gates":

var text = "Bill Gates";
text.endsWith("Gates")    // Devuelve true

Prueba por ti mismo

Sintaxis

string.endsWith(searchvalue, length)

Valor del parámetro

Parámetro Descripción
searchvalue Necesario. Valor a buscar.
length Opcional. Longitud a buscar.

Recupera los primeros 11 caracteres de la cadena que termina con "world":

let text = "Hello world, welcome to the universe.";
text.endsWith("world", 11)    // Devuelve true

Prueba por ti mismo

Nota:endsWith() El método distingue entre mayúsculas y minúsculas.

Internet Explorer no admite endsWith() Método.

La primera versión del navegador que completamente admite este método es:

Chrome IE Firefox Safari Opera
Chrome 51 Edge 15 Firefox 54 Safari 10 Opera 38
Mayo de 2016 Abril de 2017 Junio de 2017 Septiembre de 2016 Junio de 2016

Referencia Completa de String

Para una referencia completa, por favor visite nuestra Manual de Referencia de String en JavaScript.

Este manual contiene descripciones e instancias de todas las propiedades y métodos de String.