Búsqueda de cadenas de JavaScript
- Página Anterior Métodos de String en JS
- Página Siguiente Plantillas de String en JS
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
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
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
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
lastIndexOf()
El método busca hacia atrás (desde el final hasta el principio), lo que significa que si el segundo parámetro es 15
Si 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
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
¿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]
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]
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
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
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
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
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
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
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.
- Página Anterior Métodos de String en JS
- Página Siguiente Plantillas de String en JS