Table of contents
- Nota
- Longitud de la cadena
- Extracción de partes de cadenas
- Cadena slice()
- Cadena substring()
- Cadena substr()
- Reemplazo de contenido de cadena
- Cadena ReplaceAll()
- Conversión a mayúsculas y minúsculas
- Cadena toUpperCase()
- Cadena toLowerCase()
- Cadena concat()
- Cadena trim()
- Cadena trimStart()
- Cadena trimEnd()
- Cadena Padding
- Cadena padStart()
- Soporte del navegador
- Cadena padEnd()
- Soporte del navegador
- Extracción de caracteres de cadena
- Cadena charAt()
- Cadena charCodeAt()
- Acceso a la propiedad
- Convertir una cadena en una matriz
- Cadena split()
- Referencia completa de cadenas
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;
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);
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);
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);
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);
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);
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);
Si omites el segundo parámetro, substr()
cortará el resto de la cadena.
Ejemplo:
let str = "Apple, Banana, Kiwi";
let part = str.substr(7);
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);
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");
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");
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");
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");
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");
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");
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");
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();
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
Cadena concat()
concat()
une dos o más cadenas:
Ejemplo:
let text1 = "Hello";
let text2 = "World";
let text3 = text1.concat(" ", text2);
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();
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();
JavaScript String trimStart()
es compatible con todos los navegadores modernos desde enero de 2020:
Chrome | Edge | Firefox | Safari | Opera |
Chrome 66 | Edge 79 | Firefox 61 | Safari 12 | Opera 50 |
Apr 2018 | Jan 2020 | Jun 2018 | Sep 2018 | May 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();
JavaScript String trimEnd()
es compatible con todos los navegadores modernos desde enero de 2020:
Chrome | Edge | Firefox | Safari | Opera |
Chrome 66 | Edge 79 | Firefox 61 | Safari 12 | Opera 50 |
Apr 2018 | Jan 2020 | Jun 2018 | Sep 2018 | May 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");
Rellena una cadena con "x" hasta que alcance la longitud 4:
let text = "5";
let padded = text.padStart(4,"x");
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");
Soporte del navegador
padStart()
es una característica de ECMAScript 2017.
Es compatible con todos los navegadores modernos:
Chrome | Edge | Firefox | Safari | Opera |
Chrome | Edge | Firefox | Safari | Opera |
Yes | Yes | Yes | Yes | Yes |
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");
Ejemplo:
let text = "5";
let padded = text.padEnd(4,"x");
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");
Soporte del navegador
padEnd()
es una característica de ECMAScript 2017.
Es compatible con todos los navegadores modernos:
Chrome | Edge | Firefox | Safari | Opera |
Chrome | Edge | Firefox | Safari | Opera |
Yes | Yes | Yes | Yes | Yes |
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);
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);
Acceso a la propiedad
ECMAScript 5 (2009) permite el acceso a la propiedad [] en cadenas:
Ejemplo:
let text = "HELLO WORLD";
let char = text[0];
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
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
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("")
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