Cómo encontrar un carácter en una cadena con JavaScript

TutorialesJavascriptProgramacion

En este sencillo tutorial vamos a ver cómo puedes encontrar o buscar un carácter en una cadena usando JavaScript. Para ello podemos usar los métodos includessearch e indexOf.

Usando el método includes

Todos los arrays y las cadenas de JavaScript incluyen el método includes de forma nativa, que acepta uno o más caracteres como parámetros.  El método devolverá true si la cadena contiene el carácter especificado, o false en caso contrario:

'Esto es una cadena'.includes('a'); // true
'Esto es una cadena'.includes('i'); // false

Sin embargo, el método includes no nos proporcionará información acerca del la posición en la que se ha encontrado el carácter.

El método includes es sensible a las mayúsculas, por lo que, por ejemplo, el carácter A no será el mismo que el carácter a.

Usando el método indexOf

Si también necesitas encontrar la posición en la que se encuentra el carácter, tendrás que usar el método indexOf, que devolverá la posición en la que se ha encontrado el carácter dentro de la cadena, o -1 en caso de que no esté presente:

'Esto es una cadena'.indexOf('E'); // 0
'Esto es una cadena'.indexOf('o'); // 3
'Esto es una cadena'.indexOf('z'); // -1

El método indexOf también es sensible a las mayúscula, por lo que el carácter E no es el mismo que el carácter e.

En caso de existir varias ocurrencias, el método indexOf devolverá solamente la primera de ellas:

'Esto es una cadena'.indexOf('e'); // 5

Usando el método search

El método search de JavaScript permite buscar una cadena en el interior de una cadena. Si la subcadena se encuentra, el método search devolverá la posición del primer carácter de la subcadena en el interior de la cadena. Si la subcadena no se encuentra, devolverá -1.

Si bien este método es preferible cuando se buscan cadenas de texto, también podemos usarlo para buscar caracteres independientes:

'Esto es una cadena'.search('E'); // 0
'Esto es una cadena'.search('o'); // 4
'Esto es una cadena'.search('z'); // -1

Al igual que el método indexOf, en caso de existir varias ocurrencias, el método search devolverá solamente la primera de ellas:

'Esto es una cadena'.search('e'); // 5

Esto ha sido todo.


Avatar de Edu Lazaro

Edu Lázaro: Ingeniero técnico en informática, actualmente trabajo como desarrollador web y programador de videojuegos.

👋 Hola! Soy Edu, me encanta crear cosas y he redactado esta guía. Si te ha resultado útil, el mayor favor que me podrías hacer es el de compatirla en Twitter 😊

Si quieres conocer mis proyectos, sígueme en Twitter.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *