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.

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
trimquita los espacios de los extremos.splitconvierte texto en array;join, array en texto.replacecambia la primera aparición;replaceAll, todas.padStartypadEndalinean 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.