JavaScript String Methods

JavaScript String Methods

Contenido original de W3Schools


String length, String slice(), String substring(), String substr(), String replace(), String replaceAll(), String toUpperCase(), String toLowerCase(), String concat(), String trim(), String trimStart(), String trimEnd(), String padStart(), String padEnd(), String charAt(), String charCodeAt(), String split().


Nota

Los métodos de búsqueda para cadenas se abordan en el siguiente capítulo.


Longitud de la cadena

La propiedad length devuelve la longitud de una cadena:

Ejemplo:

let text = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
let length = text.length;

Ver ejemplo


Extracción de partes de cadenas

Hay 3 métodos para extraer una parte de una cadena:

  • slice(*start*, *end*)

  • substring(*start*, *end*)

  • substr(*start*, *length*)


Cadena slice()

slice() extrae una parte de una cadena y devuelve la parte extraída en una nueva cadena.

El método toma 2 parámetros: posición inicial y posición final (final no incluido).

Ejemplo:

Corta una parte de una cadena desde la posición 7 a la posición 13:

let text = "Apple, Banana, Kiwi";
let part = text.slice(7, 13);

Ver ejemplo


Nota

JavaScript cuenta las posiciones desde cero.

La primera posición es 0.

La segunda posición es 1.


Ejemplo:

Si omites el segundo parámetro, el método cortará el resto de la cadena:

let text = "Apple, Banana, Kiwi";
let part = text.slice(7);

Ver ejemplo


Si un parámetro es negativo, la posición se cuenta desde el final de la cadena:

let text = "Apple, Banana, Kiwi";
let part = text.slice(-12);

Ver ejemplo


Este ejemplo corta una porción de una cadena desde la posición -12 a la posición -6:

let text = "Apple, Banana, Kiwi";
let part = text.slice(-12, -6);

Ver ejemplo


Cadena substring()

substring() es similar a slice().

La diferencia es que los valores iniciales y finales menores que 0 se tratan como 0 en substring().

Ejemplo:

let str = "Apple, Banana, Kiwi";
let part = str.substring(7, 13);

Ver ejemplo

Si omites el segundo parámetro, substring() cortará el resto de la cadena.


Cadena substr()

substr() es similar a slice().

La diferencia es que el segundo parámetro especifica la longitud de la parte extraída.

Ejemplo:

let str = "Apple, Banana, Kiwi";
let part = str.substr(7, 6);

Ver ejemplo


Si omites el segundo parámetro, substr() cortará el resto de la cadena.

Ejemplo:

let str = "Apple, Banana, Kiwi";
let part = str.substr(7);

Ver ejemplo


Si el primer parámetro es negativo, la posición cuenta desde el final de la cadena.

Ejemplo:

let str = "Apple, Banana, Kiwi";
let part = str.substr(-4);

Ver ejemplo


Reemplazo de contenido de cadena

El método replace() reemplaza un valor especificado con otro valor en una cadena:

Ejemplo:

let text = "Please visit Microsoft!";
let newText = text.replace("Microsoft", "W3Schools");

Ver ejemplo


Nota

El método replace() no cambia la cadena a la que se llama.

El método replace() devuelve una nueva cadena.

El método replace() reemplaza solo la primera coincidencia

Si desea reemplazar todas las coincidencias, utilice una expresión regular con el indicador /g configurado. Vea los ejemplos a continuación.

De forma predeterminada, el método replace() reemplaza solo la primera coincidencia:

Ejemplo:

let text = "Please visit Microsoft and Microsoft!";
let newText = text.replace("Microsoft", "W3Schools");

Ver ejemplo


De forma predeterminada, el método replace() distingue entre mayúsculas y minúsculas. Escribir MICROSOFT (con mayúsculas) no funcionará:

Ejemplo:

let text = "Please visit Microsoft!";
let newText = text.replace("MICROSOFT", "W3Schools");

Ver ejemplo


Para reemplazar las mayúsculas y minúsculas, utilice una expresión regular con un indicador /i (insensible):

Ejemplo:

let text = "Please visit Microsoft!";
let newText = text.replace(/MICROSOFT/i, "W3Schools");

Ver ejemplo


Notas

Las expresiones regulares se escriben sin comillas.

Para reemplazar todas las coincidencias, utilice una expresión regular con un indicador /g (coincidencia global):

Ejemplo:

let text = "Please visit Microsoft and Microsoft!";
let newText = text.replace(/Microsoft/g, "W3Schools");

Ver ejemplo


Nota: Aprenderás mucho más sobre las expresiones regulares en el capítulo: JavaScript Regular Expressions


Cadena ReplaceAll()

En 2021, JavaScript introdujo el método de cadena replaceAll():

Ejemplo:

text = text.replaceAll("Cats","Dogs");
text = text.replaceAll("cats","dogs");

Ver ejemplo


El método replaceAll() le permite especificar una expresión regular en lugar de una cadena a reemplazar.

Si el parámetro es una expresión regular, se debe establecer el indicador global (g); de lo contrario, se genera un TypeError.

Ejemplo:

text = text.replaceAll(/Cats/g,"Dogs");
text = text.replaceAll(/cats/g,"dogs");

Ver ejemplo


Nota

replaceAll() es una característica de ES2021. replaceAll() no funciona en Internet Explorer.


Conversión a mayúsculas y minúsculas

Una cadena se convierte a mayúsculas con toUpperCase():

Una cadena se convierte a minúsculas con toLowerCase():


Cadena toUpperCase()

Convierta el ejemplo a mayúsculas con el método toUpperCase().

Ejemplo:

let text1 = "Hello World!";
let text2 = text1.toUpperCase();

Ver ejemplo


Cadena toLowerCase()

Convierta el ejemplo a minúsculas con el método toLowerCase().

Ejemplo:

let text1 = "Hello World!";       // String
let text2 = text1.toLowerCase();  // text2 is text1 converted to lower

Ver ejemplo


Cadena concat()

concat() une dos o más cadenas:

Ejemplo:

let text1 = "Hello";
let text2 = "World";
let text3 = text1.concat(" ", text2);

Ver ejemplo


Se puede utilizar el método concat() en lugar del operador más. Estas dos líneas hacen lo mismo:

Ejemplo:

text = "Hello" + " " + "World!";
text = "Hello".concat(" ", "World!");

Nota

Todos los métodos de cadena devuelven una nueva cadena. No modifican la cadena original.

Dijo formalmente:

Las cadenas son inmutables: las cadenas no se pueden cambiar, solo reemplazar.


Cadena trim()

El método trim() elimina los espacios en blanco de ambos lados de una cadena:

Ejemplo:

let text1 = "      Hello World!      ";
let text2 = text1.trim();

Ver ejemplo


Cadena trimStart()

ECMAScript 2019 agregó el método de cadena trimStart() a JavaScript.

El método trimStart() funciona como trim(), pero elimina los espacios en blanco sólo desde el inicio de una cadena.

Ejemplo:

let text1 = "     Hello World!     ";
let text2 = text1.trimStart();

Ver ejemplo


JavaScript String trimStart() es compatible con todos los navegadores modernos desde enero de 2020:

ChromeEdgeFirefoxSafariOpera
Chrome 66Edge 79Firefox 61Safari 12Opera 50
Apr 2018Jan 2020Jun 2018Sep 2018May 2018

Cadena trimEnd()

ECMAScript 2019 agregó el método de cadena trimEnd() a JavaScript.

El método trimEnd() funciona como trim(), pero elimina los espacios en blanco sólo del final de una cadena.

Ejemplo:

let text1 = "     Hello World!     ";
let text2 = text1.trimEnd();

Ver ejemplo


JavaScript String trimEnd() es compatible con todos los navegadores modernos desde enero de 2020:

ChromeEdgeFirefoxSafariOpera
Chrome 66Edge 79Firefox 61Safari 12Opera 50
Apr 2018Jan 2020Jun 2018Sep 2018May 2018

Cadena Padding

ECMAScript 2017 agregó dos nuevos métodos de cadena a JavaScript: padStart() y padEnd() para admitir el relleno al principio y al final de una cadena.


Cadena padStart()

El método padStart() rellena una cadena desde el principio.

Rellena una cadena con otra cadena (varias veces) hasta que alcanza una longitud determinada.

Ejemplo:

Rellene una cadena con "0" hasta que alcance la longitud 4:

let text = "5";
let padded = text.padStart(4,"0");

Ver ejemplo


Rellena una cadena con "x" hasta que alcance la longitud 4:

let text = "5";
let padded = text.padStart(4,"x");

Ver ejemplo


Nota

El método padStart() es un método de cadena.

Para rellenar un número, primero convierta el número en una cadena.

Vea el ejemplo a continuación.

Ejemplo:

let numb = 5;
let text = numb.toString();
let padded = text.padStart(4,"0");

Ver ejemplo


Soporte del navegador

padStart() es una característica de ECMAScript 2017.

Es compatible con todos los navegadores modernos:

ChromeEdgeFirefoxSafariOpera
ChromeEdgeFirefoxSafariOpera
YesYesYesYesYes

padStart() no es compatible con Internet Explorer.


Cadena padEnd()

El método padEnd() rellena una cadena desde el final.

Rellena una cadena con otra cadena (varias veces) hasta que alcanza una longitud determinada.

Ejemplo:

let text = "5";
let padded = text.padEnd(4,"0");

Ver ejemplo


Ejemplo:

let text = "5";
let padded = text.padEnd(4,"x");

Ver ejemplo


Nota

El método padEnd() es un método de cadena.

Para rellenar un número, primero convierta el número en una cadena.

Vea el ejemplo a continuación.

Ejemplo:

let numb = 5;
let text = numb.toString();
let padded = text.padEnd(4,"0");

Ver ejemplo


Soporte del navegador

padEnd() es una característica de ECMAScript 2017.

Es compatible con todos los navegadores modernos:

ChromeEdgeFirefoxSafariOpera
ChromeEdgeFirefoxSafariOpera
YesYesYesYesYes

padEnd() no es compatible con Internet Explorer.


Extracción de caracteres de cadena

Hay 3 métodos para extraer caracteres de cadena:

  • charAt(*position*)

  • charCodeAt(*position*)

  • Acceso a la propiedad [ ]


Cadena charAt()

El método charAt() devuelve el carácter en un índice (posición) especificado en una cadena:

Ejemplo:

let text = "HELLO WORLD";
let char = text.charAt(0);

Ver ejemplo


Cadena charCodeAt()

El método charCodeAt() devuelve el Unicode del carácter en un índice especificado en una cadena:

El método devuelve un código UTF-16 (un número entero entre 0 y 65535).

Ejemplo:

let text = "HELLO WORLD";
let char = text.charCodeAt(0);

Ver ejemplo


Acceso a la propiedad

ECMAScript 5 (2009) permite el acceso a la propiedad [] en cadenas:

Ejemplo:

let text = "HELLO WORLD";
let char = text[0];

Ver ejemplo


Nota

El acceso a la propiedad puede ser un poco impredecible:

  • Hace que las cadenas parezcan matrices (pero no lo son)

  • Si no se encuentra ningún carácter, [] devuelve indefinido, mientras que charAt() devuelve una cadena vacía.

  • Es de sólo lectura. str[0] = "A" no da error (¡pero no funciona!)

Ejemplo:

let text = "HELLO WORLD";
text[0] = "A";    // Gives no error, but does not work

Ver ejemplo


Convertir una cadena en una matriz

Si deseas trabajar con una cadena como una matriz, puedes convertirla en una matriz.


Cadena split()

Una cadena se puede convertir en una matriz con el método split():

Ejemplo:

text.split(",")    // Split on commas
text.split(" ")    // Split on spaces
text.split("|")    // Split on pipe

Ver ejemplo

Si se omite el separador, la matriz devuelta contendrá la cadena completa en el índice [0].

Si el separador es "", la matriz devuelta será una matriz de caracteres individuales:

Ejemplo:

text.split("")

Ver ejemplo


Referencia completa de cadenas

Para obtener una referencia completa de cadenas, vaya a:

Referencia completa de cadenas de JavaScript.

La referencia contiene descripciones y ejemplos de todas las propiedades y métodos de cadena.


Traducido con 💚 desde W3Schools.com

Did you find this article valuable?

Support Santos Romero by becoming a sponsor. Any amount is appreciated!