JavaScript Métodos de cadena
Los métodos de cadena le ayudan a trabajar con cadenas.
Métodos y propiedades de cadenas
Los valores primitivos, como "John Doe", no pueden tener propiedades o métodos (porque no son objetos).
Pero con JavaScript, los métodos y las propiedades también están disponibles para los valores primitivos, porque JavaScript trata los valores primitivos como objetos cuando ejecuta métodos y propiedades.
Longitud de cadena de JavaScript
La propiedad length
devuelve la longitud de una cadena:
Extracción de partes de una cadena
Existen 3 métodos para extraer una parte de una cadena:
slice(start, end)
substring(start, end)
substr(start, length)
Slice() de cadena de JavaScript
slice()
extrae una parte de una cadena y devuelve la parte extraída en una nueva cadena.
El método toma 2 parámetros: la posición inicial y la posición final (no se incluye el final).
Ejemplo
Cortar una porción de una cuerda desde la posición 7 a la posición 13 (13 no incluida):
let str = "Apple, Banana, Kiwi";
let part = str.slice(7, 13);
Try it Yourself »
Nota
JavaScript cuenta las posiciones desde cero.
La primera posición es 0.
La segunda posición es 1.
Si un parámetro es negativo, la posición se cuenta desde el final de la cadena.
Este ejemplo corta una parte de una cadena desde la posición -12 a la posición -6:
Si omite el segundo parámetro, el método eliminará el resto de la cadena:
o, contando desde el final:
Substring() de JavaScript String
substring()
es similar a slice()
.
La diferencia es que los valores iniciales y finales menores a 0 se tratan como 0 en substring()
.
Si omite el segundo parámetro, substring()
eliminará el resto de la cadena.
Cadena JavaScript substr()
substr()
es similar a slice()
.
La diferencia es que el segundo parámetro especifica la longitud de la parte extraída.
Si omite el segundo parámetro, substr()
eliminará el resto de la cadena.
Si el primer parámetro es negativo, la posición cuenta desde el final de la cadena.
Reemplazo de contenido de cadena
El método replace()
reemplaza un valor especificado por otro valor en una cadena:
Ejemplo
let text = "Please visit Microsoft!";
let newText = text.replace("Microsoft", "W3Schools");
Try it Yourself »
Nota
El método replace()
no cambia la cadena en la que se invoca.
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 establecido. 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");
Try it Yourself »
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");
Try it Yourself »
Para reemplazar la distinción entre mayúsculas y minúsculas, use una expresión regular con un indicador /i
(sin distinción entre mayúsculas y minúsculas):
Ejemplo
let text = "Please visit Microsoft!";
let newText = text.replace(/MICROSOFT/i, "W3Schools");
Try it Yourself »
Nota
Las expresiones regulares se escriben sin comillas.
Para reemplazar todas las coincidencias, use 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");
Try it Yourself »
Nota
Aprenderás mucho más sobre expresiones regulares en el capítulo Expresiones regulares de JavaScript.
Conversión a mayúsculas y minúsculas
Una cadena se convierte a mayúscula con toUpperCase()
:
Una cadena se convierte a minúsculas con toLowerCase()
:
Cadena de JavaScript toUpperCase()
Cadena de JavaScript toLowerCase()
Ejemplo
let text1 = "Hello World!"; // Cadena
let text2 = text1.toLowerCase(); // text2 es text1 convertido a minúscula
Try it Yourself »
Cadena de JavaScript concat()
concat()
une dos o más cadenas:
Ejemplo
let text1 = "Hello";
let text2 = "World";
let text3 = text1.concat(" ", text2);
Try it Yourself »
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.
En términos formales:
Las cadenas son inmutables: no se pueden cambiar, solo reemplazar.
Cadena de JavaScript trim()
El método trim()
elimina los espacios en blanco de ambos lados de una cadena:
Relleno de cadenas en JavaScript
ECMAScript 2017 agregó dos métodos de cadena: padStart()
y padEnd()
para admitir el relleno al principio y al final de una cadena.
PadStart() de cadena de JavaScript
El método padStart()
rellena una cadena con otra cadena:
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");
Try it Yourself »
Compatibilidad con navegadores
padStart()
es una característica de ECMAScript 2017.
Es compatible con todos los navegadores modernos:
Chrome | Edge | Firefox | Safari | Opera |
Sí | Sí | Sí | Sí | Sí |
padStart()
no la compatible con Internet Explorer.
Cadena de JavaScript padEnd()
El método padEnd()
rellena una cadena con otra cadena:
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.
Compatibilidad con navegadores
padEnd()
es una función de ECMAScript 2017.
Es compatible con todos los navegadores modernos:
Chrome | Edge | Firefox | Safari | Opera |
Sí | Sí | Sí | Sí | Sí |
padEnd()
no la compatible con Internet Explorer.
Extracción de caracteres de cadena
Existen 3 métodos para extraer caracteres de cadena:
charAt(position)
charCodeAt(position)
- Propiedad access [ ]
Cadena charAt() de JavaScript
El método charAt()
devuelve el carácter en un índice (posición) especificado en una cadena:
Cadena de JavaScript charCodeAt()
El método charCodeAt()
devuelve el código 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).
Acceso a propiedades
ECMAScript 5 (2009) permite el acceso a propiedades [ ] en cadenas:
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 undefined, mientras que charAt() devuelve una cadena vacía.
- Es de solo lectura. str[0] = "A" no da ningún error (¡pero no funciona!)
Ejemplo
let text = "HELLO WORLD";
text[0] = "A"; // No da ningún error, pero no funciona
Try it Yourself »
Convertir una cadena en una matriz
Si desea trabajar con una cadena como una matriz, puede convertirla en una matriz.
División de cadenas en JavaScript ()
Una cadena se puede convertir en una matriz con el método split()
:
Ejemplo
text.split(",") // Dividir por comas
text.split(" ") // Dividido en espacios
text.split("|") // División en la tubería
Try it Yourself »
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:
Referencia completa de cadenas
Para obtener una referencia completa de cadenas, visite:
Referencia completa de cadenas de JavaScript.
La referencia contiene descripciones y ejemplos de todas las propiedades y métodos de cadenas.