GUÍA · Texto

Métodos de strings en JavaScript: guía con ejemplos

Los métodos de texto más útiles de JavaScript: trim, split, includes, replace, slice, toUpperCase, padStart y plantillas literales, con ejemplos y resultados.

Las cadenas de texto de JavaScript son inmutables: cada método devuelve un texto nuevo y deja el original intacto. Esto significa que debes guardar el resultado o usarlo directamente.

JavaScript
const nombre = '  Ana  ';
nombre.trim();              // el resultado se pierde
console.log(nombre);        // '  Ana  ' (no cambió)

const limpio = nombre.trim();
console.log(limpio);        // 'Ana'

Limpiar y cambiar mayúsculas

JavaScript
console.log('  hola  '.trim());        // 'hola'
console.log('Hola'.toUpperCase());     // 'HOLA'
console.log('Hola'.toLowerCase());     // 'hola'

trimStart() y trimEnd() limpian solo un lado.

Buscar dentro del texto

JavaScript
const frase = 'Me gusta JavaScript';

console.log(frase.includes('Java'));     // true
console.log(frase.startsWith('Me'));     // true
console.log(frase.endsWith('Script'));   // true
console.log(frase.indexOf('gusta'));     // 3  (-1 si no existe)

Estas búsquedas distinguen mayúsculas. Para ignorarlas, convierte ambos textos:

JavaScript
const contiene = (texto, consulta) =>
  texto.toLowerCase().includes(consulta.toLowerCase());

console.log(contiene('JavaScript', 'script')); // true

Extraer partes

JavaScript
const codigo = 'JS-2026-A';

console.log(codigo.slice(0, 2));   // 'JS'
console.log(codigo.slice(3));      // '2026-A'
console.log(codigo.slice(-1));     // 'A'
console.log(codigo.at(0));         // 'J'
console.log(codigo.length);        // 9

slice(inicio, fin) no incluye la posición final y acepta índices negativos, que cuentan desde el final.

Dividir y unir

JavaScript
const lista = 'rojo,verde,azul'.split(',');
console.log(lista);              // ['rojo', 'verde', 'azul']
console.log(lista.join(' - '));  // 'rojo - verde - azul'

console.log('hola mundo'.split(' ').map(p => p[0].toUpperCase() + p.slice(1)).join(' '));
// 'Hola Mundo'

Reemplazar

JavaScript
console.log('a-b-c'.replace('-', '+'));      // 'a+b-c'  (solo el primero)
console.log('a-b-c'.replaceAll('-', '+'));   // 'a+b+c'
console.log('a-b-c'.replace(/-/g, '+'));     // 'a+b+c'  (con expresión regular)

Rellenar y repetir

JavaScript
console.log('7'.padStart(3, '0'));  // '007'
console.log('ab'.repeat(3));        // 'ababab'

padStart es práctico para horas y números de pedido: String(minutos).padStart(2, '0').

Plantillas literales

Con acentos graves puedes insertar variables y expresiones sin concatenar:

JavaScript
const usuario = 'Ana';
const puntos = 12;

console.log('Hola, ' + usuario + '. Tienes ' + puntos + ' puntos.');
console.log(`Hola, ${usuario}. Tienes ${puntos} puntos.`);
console.log(`El doble es ${puntos * 2}`);

También permiten varias líneas sin caracteres especiales.

Comparar y ordenar

JavaScript
console.log('a' < 'b');                  // true
console.log('Z' < 'a');                  // true (las mayúsculas van antes)
console.log('ñ'.localeCompare('o', 'es')); // -1

Para ordenar nombres con acentos o eñes, usa localeCompare con el idioma:

JavaScript
const nombres = ['Óscar', 'Ana', 'Álex'];
console.log(nombres.sort((a, b) => a.localeCompare(b, 'es')));
// ['Álex', 'Ana', 'Óscar']

Resumen

TareaMétodo
Quitar espaciostrim
Saber si contiene algoincludes
Cortar una parteslice
Convertir a listasplit
Sustituir textoreplaceAll
Rellenar con cerospadStart

Última actualización: . Los ejemplos se han comprobado en un navegador actual y en Node.js.