ETZADEV
Strings en JavaScript
Compartir

Strings en JavaScript

En JavaScript, un string es una cadena de caracteres. Es un tipo de dato primitivo que se utiliza para representar texto. Los strings pueden contener letras, números, símbolos y espacios, y siempre están delimitados por comillas

snippet.js
1let string1 = "Hola";
2let string2 = "Las comillas simples también están bien";
3let phrase = `se puede incrustar otro ${string1}`;

Existen tres tipos de comillas en JavaScript:

  • Comillas dobles:
    snippet.txt
    1"Hola"
  • Comillas simples:
    snippet.txt
    1'Hola'
  • Backticks (comillas invertidas):
    snippet.txt
    1`Hola`

Las comillas dobles y simples son equivalentes y no tienen diferencias en su funcionamiento en JavaScript. Sin embargo, los backticks tienen una funcionalidad extendida, permitiendo incrustar variables y expresiones dentro de una cadena de caracteres utilizando ${...}. Por ejemplo:

snippet.js
1let name = "Johan";
2
3// Incrustar una variable
4console.log(`Hola, ${name}!`); // Hola, Johan!
5
6// Incrustar una expresión
7console.log(`El resultado es ${1 + 2}`); // El resultado es 3

La expresión dentro de ${...} se evalúa y su resultado se incluye en la cadena. Puedes colocar cualquier cosa dentro de estas expresiones: una variable como name, una operación aritmética como 1 + 2, o algo más complejo.

Es importante notar que esto solo se puede hacer con los backticks. Las otras comillas no permiten esta capacidad de incrustación:

snippet.js
1console.log("El resultado es ${1 + 2}"); // El resultado es ${1 + 2} (las comillas dobles no lo permiten)

En algunos lenguajes de programación, existe un tipo especial llamado char que representa un solo carácter. Este es el caso de lenguajes como C y Java. Sin embargo, en JavaScript no existe un tipo específico para caracteres individuales. En su lugar, JavaScript utiliza un solo tipo: string. Un string puede estar compuesto por un solo carácter, por varios o incluso por ninguno.

Los strings en JavaScript disponen de múltiples métodos para su manejo. A continuación, detallo los métodos de strings más usuales en JavaScript, junto con una breve explicación de cada uno.

Métodos de String en JavaScript

length

Aunque técnicamente, length es una propiedad, no un método. Aquí está su explicación; La propiedad length devuelve la longitud de una cadena, es decir, el número de caracteres que contiene.

Sintaxis

snippet.js
1string.length;

Valor que retorna

devuelve un número que representa la cantidad de caracteres que contiene la cadena, incluyendo espacios y caracteres especiales.

Ejemplo

snippet.js
1const str = "Hello, World!";
2console.log(str.length); // 13

En este caso, "Hello, World!" tiene 13 caracteres, incluyendo la coma y el espacio.


charAt(index)

El método charAt() en JavaScript se utiliza para obtener el carácter en una posición específica dentro de una cadena (string).

Sintaxis

string.charAt(index);

Parámetro que recibe

El método charAt() recibe un único parámetro, el cual es un

snippet.txt
1índice
(index). Este índice es un número entero que representa la posición del carácter que deseas obtener dentro del string. Los índices en JavaScript son basados en cero, lo que significa que el primer carácter de una cadena tiene un índice de 0, el segundo carácter tiene un índice de 1, y así sucesivamente.

Valor que retorna

Una cadena que representa el carácter en el index especificado.

Ejemplo

snippet.js
1let message = "JavaScript es genial";
2console.log(message.charAt(4)); // Salida: S

En este ejemplo

  • La cadena es "JavaScript es genial".
  • Llamamos al método charAt() con el índice 4.
  • El método retorna el carácter en la posición 4 de la cadena, que es
    snippet.txt
    1"S"
    .

Notas Adicionales

  • Si el índice proporcionado es menor que 0 o
    snippet.txt
    1mayor que la longitud de la cadena menos uno
    , el método charAt() devuelve una cadena vacía ("").
  • Si el índice no se proporciona, es decir, si el índice es undefined, este se convierte en 0 y devuelve el carácter que está en la primera posición.

concat(str1, str2, ..., strN)

El método concat() se utiliza para unir (concatenar) dos o más cadenas de texto (strings).

Sintaxis

snippet.js
1str.concat(str1);
2str.concat(str1, str2);
3str.concat(str1, ", ", str2);
4str.concat(str1, str2, /* , */ strN);

Parámetros que recibe

El método concat() recibe uno o más parámetros, que son las cadenas de texto que deseas unir a la cadena original. Cada parámetro es un string que se añadirá en el orden en que se proporciona.

Valor que retorna

Devuelve una nueva cadena que contiene las cadenas concatenadas

Ejemplo

snippet.js
1let string1 = "Hola";
2let string2 = "Mundo";
3let result = string1.concat(", ", string2, "!");
4console.log(result); // Salida: "Hola, Mundo!"

En este ejemplo:

  • La cadena inicial es
    snippet.txt
    1"Hola"
    .
  • Se llama al método concat() con los parámetros ", ", string2 y "!".
  • El método retorna una nueva cadena que resulta de la concatenación de estos valores, que es
    snippet.txt
    1"Hola, Mundo!"
    .

Notas Adicionales

  • El método concat() no modifica la cadena original, sino que devuelve una nueva cadena con el resultado de la concatenación.

    snippet.js
    1let original = "Hola";
    2let newString = original.concat(" Mundo");
    3console.log(original); // Salida: "Hola" (la cadena original no cambia)
    4console.log(newString); // Salida: "Hola Mundo"

includes(searchString, position)

El método includes() se utiliza para determinar si una cadena de texto (string) contiene una subcadena específica.

Sintaxis

snippet.js
1str.includes(searchString);
2str.includes(searchString, position);

Parámetros que recibe

  • searchString: La subcadena que se desea buscar dentro de la cadena original.
  • position (opcional): La posición en la cadena desde la cual comenzar la búsqueda. Por defecto, es 0.

Valor que retorna

Retorna un valor booleano: true si la subcadena está presente en el string, y false en caso contrario.

Ejemplo

snippet.js
1let text = "Hola Mundo";
2let result1 = text.includes("Hola");
3console.log(result1); // Salida: true
4
5let result2 = text.includes("mundo");
6console.log(result2); // Salida: false
7// es Case sensitive
8
9let result3 = text.includes("Mundo", 5);
10console.log(result3); // Salida: true

En este ejemplo:

  • La cadena inicial es
    snippet.txt
    1"Hola Mundo"
    .
  • Se llama al método includes() con el parámetro
    snippet.txt
    1"Hola"
    , que devuelve true porque la subcadena está presente.
  • Se llama al método includes() con el parámetro
    snippet.txt
    1"mundo"
    , que devuelve false porque la subcadena no coincide exactamente en mayúsculas y minúsculas.
  • Se llama al método includes() con los parámetros
    snippet.txt
    1"Mundo"
    y 5, que devuelve true porque la subcadena está presente a partir de la posición 5.

Notas Adicionales

  • El método includes() distingue entre mayúsculas y minúsculas.
  • El método includes() devuelve true o false dependiendo de si se encuentra la subcadena.

indexOf(searchValue, fromIndex)

El método indexOf() se utiliza para encontrar la posición de la primera aparición de un valor especificado dentro de una cadena.

Sintaxis

snippet.js
1str.indexOf(searchValue);
2str.indexOf(searchValue, fromIndex);

Parámetros que recibe

  • searchValue: La subcadena que se desea buscar dentro de la cadena original.
  • fromIndex (opcional): La posición en la cadena desde la cual comenzar la búsqueda. Por defecto, es 0.

Valor que retorna

Retorna un número: la posición de la primera aparición de la subcadena en el string, o -1 si no se encuentra.

Ejemplo

snippet.js
1let text = "Hola Mundo";
2let position1 = text.indexOf("Mundo");
3console.log(position1); // Salida: 5
4
5let position2 = text.indexOf("o");
6console.log(position2); // Salida: 1
7
8let position3 = text.indexOf("o", 2);
9console.log(position3); // Salida: 9

En este ejemplo:

  • La cadena inicial es
    snippet.txt
    1"Hola Mundo"
    .
  • Se llama al método indexOf() con el parámetro
    snippet.txt
    1"Mundo"
    , que devuelve 5 porque la subcadena comienza en la posición 5.
  • Se llama al método indexOf() con el parámetro
    snippet.txt
    1"o"
    , que devuelve 1 porque la primera aparición de
    snippet.txt
    1"o"
    es en la posición 1.
  • Se llama al método indexOf() con los parámetros
    snippet.txt
    1"o"
    y 2, que devuelve 9 porque la primera aparición de
    snippet.txt
    1"o"
    después de la posición 2 es en la posición 9.

Notas Adicionales

  • El método indexOf() distingue entre mayúsculas y minúsculas.
  • La búsqueda se realiza de izquierda a derecha en la cadena.
  • Si searchValue no se encuentra en la cadena, el método devuelve -1.

lastIndexOf(searchValue, fromIndex)

El método lastIndexOf() se utiliza para encontrar la posición de la última aparición de un valor especificado dentro de una cadena.

Sintaxis

snippet.js
1str.lastIndexOf(searchValue);
2str.lastIndexOf(searchValue, fromIndex);

Parámetros que recibe

  • searchValue: La subcadena que se desea buscar dentro de la cadena original.
  • fromIndex (opcional): La posición en la cadena desde la cual comenzar la búsqueda hacia atrás. Por defecto, es la longitud de la cadena menos 1.

Valor que retorna

Retorna un número: la posición de la última aparición de la subcadena en el string, o -1 si no se encuentra.

Ejemplo

snippet.js
1let text = "Hola Mundo";
2let position1 = text.lastIndexOf("o");
3console.log(position1); // Salida: 9
4
5let position2 = text.lastIndexOf("o", 8);
6console.log(position2); // Salida: 1

En este ejemplo:

  • La cadena inicial es
    snippet.txt
    1"Hola Mundo"
    .
  • Se llama al método lastIndexOf() con el parámetro
    snippet.txt
    1"o"
    , que devuelve 9 porque la subcadena aparece por última vez en la posición 9.
  • Se llama al método lastIndexOf() con los parámetros
    snippet.txt
    1"o"
    y 8, que devuelve 1 porque la última aparición de
    snippet.txt
    1"o"
    antes de la posición 8 es en la posición 1.

Notas Adicionales

  • El método lastIndexOf() distingue entre mayúsculas y minúsculas.
  • La búsqueda se realiza de derecha a izquierda en la cadena.
  • Si searchValue no se encuentra en la cadena, el método devuelve -1.

replace(searchValue, newValue)

El método replace() se utiliza para reemplazar una subcadena especificada con otra cadena.

Sintaxis

str.replace(searchValue, newValue);

Parámetros que recibe

  • searchValue: La subcadena o expresión regular a buscar dentro de la cadena original.
  • newValue: La cadena con la que se reemplazará searchValue.

Valor que retorna

Retorna una nueva cadena con las sustituciones realizadas.

Ejemplo

snippet.js
1let text = "Hola Mundo";
2let newText = text.replace("Mundo", "Amigo");
3console.log(newText); // Salida: "Hola Amigo"

En este ejemplo:

  • La cadena inicial es
    snippet.txt
    1"Hola Mundo"
    .
  • Se llama al método replace() con los parámetros
    snippet.txt
    1"Mundo"
    y
    snippet.txt
    1"Amigo"
    , lo que devuelve la cadena
    snippet.txt
    1"Hola Amigo"
    .

Notas Adicionales

  • El método replace() distingue entre mayúsculas y minúsculas.
  • Solo reemplaza la primera aparición de searchValue.

replaceAll(searchValue, newValue)

El método replaceAll() se utiliza para reemplazar todas las ocurrencias de una subcadena o expresión regular en una cadena por otra subcadena.

Sintaxis

str.replaceAll(searchValue, newValue);

Parámetros que recibe

  • searchValue: La subcadena o expresión regular a buscar dentro de la cadena original.
  • newValue: La cadena con la que se reemplazará cada aparición de searchValue.

Valor que retorna

Retorna una nueva cadena con todas las sustituciones realizadas.

Ejemplo

snippet.js
1let text = "Hola Mundo, Hola JavaScript, Hola Programación";
2let newText = text.replaceAll("Hola", "Adiós");
3console.log(newText); // Salida: "Adiós Mundo, Adiós JavaScript, Adiós Programación"

En este ejemplo:

  • La cadena inicial es
    snippet.txt
    1"Hola Mundo, Hola JavaScript, Hola Programación"
    .
  • Se llama al método replaceAll() con los parámetros
    snippet.txt
    1"Hola"
    y
    snippet.txt
    1"Adiós"
    , lo que devuelve la cadena
    snippet.txt
    1"Adiós Mundo, Adiós JavaScript, Adiós Programación"
    .

Notas Adicionales

  • El método replaceAll() distingue entre mayúsculas y minúsculas.
  • Si searchValue es una expresión regular, debe incluir el modificador global (g) para reemplazar todas las coincidencias.
  • replaceAll() es útil para realizar múltiples reemplazos en una cadena sin necesidad de usar expresiones regulares complejas.

slice(beginIndex, endIndex)

El método slice() se utiliza para extraer una sección de una cadena y devolver una nueva cadena sin modificar la original.

Sintaxis

snippet.js
1str.slice(beginIndex);
2str.slice(beginIndex, endIndex);

Parámetros que recibe

  • beginIndex: El índice en el que comienza la extracción.
  • endIndex (opcional): El índice antes del cual se detiene la extracción. Si no se proporciona, extrae hasta el final de la cadena.

Valor que retorna

Retorna una nueva cadena que contiene los caracteres extraídos.

Ejemplo

snippet.js
1let text = "Hola Mundo";
2let result = text.slice(5, 10);
3console.log(result); // Salida: "Mundo"
4
5let result1 = text.slice(-5, -1);
6console.log(result1); // Salida: "Mund"

En este ejemplo:

  • La cadena inicial es
    snippet.txt
    1"Hola Mundo"
    .
  • Se llama al método slice() con los parámetros 5 y 10, lo que devuelve la subcadena
    snippet.txt
    1"Mundo"
    .
  • Se llama al método slice() con los parámetros -5 y -1, lo que devuelve la subcadena
    snippet.txt
    1"Mund"
    .

Notas Adicionales

  • El método slice() acepta índices negativos que se cuentan desde el final de la cadena.
  • Si beginIndex es mayor o igual a endIndex, se devuelve una cadena vacía.
  • slice() es más recomendable cuando deseas extraer una subcadena basada en índices específicos.

substring(indexStart, indexEnd)

El método substring() se utiliza para extraer los caracteres entre dos índices especificados dentro de una cadena.

Sintaxis

snippet.js
1str.substring(indexStart);
2str.substring(indexStart, indexEnd);

Parámetros que recibe

  • indexStart: El índice en el que comienza la extracción.
  • indexEnd (opcional): El índice antes del cual se detiene la extracción. Si no se proporciona, extrae hasta el final de la cadena.

Valor que retorna

Retorna una nueva cadena que contiene los caracteres extraídos.

Ejemplo

snippet.js
1let text = "Hola Mundo";
2let result = text.substring(5, 10);
3console.log(result); // Salida: "Mundo"

En este ejemplo:

  • La cadena inicial es
    snippet.txt
    1"Hola Mundo"
    .
  • Se llama al método substring() con los parámetros 5 y 10, lo que devuelve la subcadena
    snippet.txt
    1"Mundo"
    .

Notas Adicionales

  • substring() intercambia los valores de indexStart e indexEnd si indexStart es mayor que indexEnd.
  • No acepta índices negativos.
  • substring() es más recomendable cuando necesitas una lógica simple para extraer subcadenas sin usar índices negativos.

Diferencias entre .slice() y .substring()

  • .slice() acepta índices negativos; .substring() no.
  • Si beginIndex es mayor que endIndex, .substring() intercambia los valores, mientras que .slice() devuelve una cadena vacía.
  • Ambos métodos devuelven una nueva cadena y no modifican la original.

split(separator, limit)

El método split() se utiliza para dividir una cadena en un array de subcadenas.

Sintaxis

snippet.js
1str.split(separator);
2str.split(separator, limit);

Parámetros que recibe

  • separator: El patrón que define dónde cada división debe ocurrir (puede ser una cadena o una expresión regular).
  • limit (opcional): Un entero que limita el número de divisiones a realizar.

Valor que retorna

Retorna un array de subcadenas.

Ejemplo

snippet.js
1let text = "Hola Mundo, cómo estás";
2let result = text.split(" ");
3console.log(result); // Salida: ["Hola", "Mundo,", "cómo", "estás"]

En este ejemplo:

  • La cadena inicial es
    snippet.txt
    1"Hola Mundo, cómo estás"
    .
  • Se llama al método split() con el parámetro " ", lo que divide la cadena en un array de palabras.

Notas Adicionales

  • Si el separator es una cadena vacía, la cadena se divide en un array de caracteres individuales.
  • Si separator no se encuentra en la cadena, el array resultante contendrá una sola cadena, que es la cadena original.

toLowerCase()

El método toLowerCase() se utiliza para convertir todos los caracteres de una cadena a minúsculas.

Sintaxis

str.toLowerCase();

Valor que retorna

Retorna una nueva cadena con todos los caracteres en minúsculas.

Ejemplo

snippet.js
1let text = "Hola Mundo";
2let result = text.toLowerCase();
3console.log(result); // Salida: "hola mundo"

En este ejemplo:

  • La cadena inicial es
    snippet.txt
    1"Hola Mundo"
    .
  • Se llama al método toLowerCase(), lo que devuelve la cadena
    snippet.txt
    1"hola mundo"
    .

toUpperCase()

El método toUpperCase() se utiliza para convertir todos los caracteres de una cadena a mayúsculas.

Sintaxis

str.toUpperCase();

Valor que retorna

Retorna una nueva cadena con todos los caracteres en mayúsculas.

Ejemplo

snippet.js
1let text = "Hola Mundo";
2let result = text.toUpperCase();
3console.log(result); // Salida: "HOLA MUNDO"

En este ejemplo:

  • La cadena inicial es
    snippet.txt
    1"Hola Mundo"
    .
  • Se llama al método toUpperCase(), lo que devuelve la cadena
    snippet.txt
    1"HOLA MUNDO"
    .

Notas Adicionales

  • Ambos métodos (toLowerCase() y toUpperCase()) no modifican la cadena original, sino que retornan una nueva cadena con los caracteres convertidos.

trim()

El método trim() en JavaScript se utiliza para eliminar los espacios en blanco en ambos extremos de una cadena.

Sintaxis

str.trim();

Valor que retorna

Retorna una nueva cadena sin los espacios en blanco al principio y al final.

Ejemplo

snippet.js
1let text = " Hola Mundo ";
2let result = text.trim();
3console.log(result); // Salida: "Hola Mundo"

En este ejemplo:

  • La cadena inicial es
    snippet.txt
    1" Hola Mundo "
    .
  • Se llama al método trim(), lo que devuelve la cadena
    snippet.txt
    1"Hola Mundo"
    sin los espacios en blanco al principio y al final.

Notas Adicionales

  • El método trim() no modifica la cadena original, sino que retorna una nueva cadena.
  • Solo elimina los espacios en blanco del principio y del final de la cadena, no los que están en el medio.
  • Es útil para limpiar datos de entrada de usuarios antes de procesarlos.

¡Y así llegamos al final de nuestro viaje a través de las cadenas de texto en JavaScript! Espero que hayas disfrutado de esta exploración y que ahora te sientas más seguro y preparado para enfrentar tus proyectos de programación. Sigue practicando y divirtiéndote con el código. ¡Hasta la próxima y sigue creando cosas increíbles! 🎉🚀

M
Mario16/12/2024, 3:52:19Tema: Excelente contenido

Sin embargo sería genial ver más ejemplos de los metodos

comentario.formNuevo

* Tu correo electrónico permanecerá privado. Los campos requeridos están señalados con *