DMarlon Studio

Lección 15 · 15 de 20

Métodos de las cadenas · JavaScript

Limpie y dé formato a textos en JavaScript con trim, split, join, replace, replaceAll, padStart, padEnd, slice, indexOf y repeat.

JavaScript · Métodos de las cadenas en DMarlon Studio: el código del ejemplo y su salida en la terminal

El texto que escribe la gente suele venir con espacios de más. `trim()` quita los del principio y del final; los corchetes de la primera línea de salida muestran dónde empieza y acaba la cadena.

`split(",")` corta la cadena por cada coma y devuelve un array; con map((p) => p.trim()) se limpia cada pizza. `join(" | ")` hace lo contrario: une el array en una cadena con el separador que se le indique.

`replace()` cambia solo la primera vez que aparece un texto y `replaceAll()` las cambia todas, como se ve con las dos «Margarita» del aviso.

`padEnd()` y `padStart()` rellenan una cadena hasta una longitud, por la derecha o por la izquierda, con espacios o con el carácter que se elija. Así la carta sale en columnas, con los nombres rellenos de puntos y los precios alineados a la derecha, y el número de pedido sale como 00042.

`indexOf()` da la posición de un texto y `lastIndexOf()` la de su última aparición; con `slice()` se recorta lo que hay entre ellas. `repeat()` repite una cadena, útil para dibujar líneas.

Código · main.js

// Text typed by people is often messy.const raw = "   Margarita, Pepperoni , Four Cheese,Hawaiian  ";// trim removes the spaces at both ends.const clean = raw.trim();console.log(`[${clean}]`);// split cuts a string into an array; join glues an array back.const pizzas = clean.split(",").map((p) => p.trim());console.log(pizzas);console.log(pizzas.join(" | "));// replace changes the first match; replaceAll changes all of them.const notice = "Today: Margarita. Margarita for 8 euros.";console.log(notice.replace("Margarita", "Hawaiian"));console.log(notice.replaceAll("Margarita", "Pepperoni"));// padEnd and padStart fill up to a length: perfect for columns.const menu = [["Margarita", 8], ["Pepperoni", 9.5], ["Four Cheese", 11]];for (const item of menu) {  console.log(item[0].padEnd(14, ".") + item[1].toFixed(2).padStart(7));}console.log("Order number", String(42).padStart(5, "0"));// slice, indexOf and repeatconst code = "ORD-00042-PIZZA";const dash = code.indexOf("-");console.log("Prefix:", code.slice(0, dash), "| Type:", code.slice(code.lastIndexOf("-") + 1));console.log("=".repeat(21));

Salida · node main.js

[Margarita, Pepperoni , Four Cheese,Hawaiian]
[ 'Margarita', 'Pepperoni', 'Four Cheese', 'Hawaiian' ]
Margarita | Pepperoni | Four Cheese | Hawaiian
Today: Hawaiian. Margarita for 8 euros.
Today: Pepperoni. Pepperoni for 8 euros.
Margarita.....   8.00
Pepperoni.....   9.50
Four Cheese...  11.00
Order number 00042
Prefix: ORD | Type: PIZZA
=====================

Para recordar

  • trim quita los espacios de los extremos.
  • split convierte texto en array; join, array en texto.
  • replace cambia la primera aparición; replaceAll, todas.
  • padStart y padEnd alinean en columnas.
  • Ningún método cambia la cadena original.

Ejercicio

A partir de la cadena " ana, LUIS ,marta ", obtenga los nombres limpios, con la primera letra en mayúscula, y escríbalos separados por comas con join.