Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

180
Vistas
¿Javascript puede fusionar múltiples métodos `.replace ()`?

Por primera vez, tengo la necesidad de manipular una cadena bastante en JS. Después de jugar, me he dado cuenta de lo fuera de control que puede llegar a ser. No soy un profesional de JS y supongo que hay una forma más limpia de lograr el resultado deseado.

Pregunta: ¿Es necesario editar la cadena de muestra x , como lo he hecho, o hay una mejor solución?

Mi objetivo es pasar de esto: _postcode_pricing_manual_weekend_evening a esto: Manual Weekend Evening:

 const x = '_postcode_pricing_manual_weekend_evening'; // Original String console.log("Original:", x); var str = x.replace('_postcode_pricing_',''); // Strip prefix console.log('1:',str); var finalStr = str.replace(/_/g, ' '); // strip Underscores console.log('2:',finalStr); // Add ':' finalStr = finalStr += ':'; // Split into words array const words = finalStr.split(" "); // Loop array capitalise first letter of each word '[0]' for (let i = 0; i < words.length; i++) { words[i] = words[i][0].toUpperCase() + words[i].substr(1); } // Put array back together. console.log("Final output:",words.join(" "));

about 4 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

Si por "combinar" te refieres a encadenar múltiples replace juntos, sí.

str = x.replace('_postcode_pricing_', '').replace(/_/g, ' ') + ':'

... es perfectamente aceptable.

about 4 years ago · Juan Pablo Isaza Denunciar

0

Sí, puede encadenar métodos, siempre que el método anterior devuelva un tipo que implemente el siguiente método en una cadena.

En cuanto a su proceso, tiene cierta redundancia. Reemplaza los guiones bajos con espacios, pero luego descarta esos espacios con su llamada split() . Simplemente podría dividir en guiones bajos.

 const x = '_postcode_pricing_manual_weekend_evening'; // Original String console.log("Original:", x); const words = x .replace('_postcode_pricing_','') // remove prefix .split("_") // split into words .map(word => word[0].toUpperCase() + word.slice(1)) // capitalize .join(" "); // rejoin console.log(`${words}:`); // final literal adding ':'

Otra opción sería usar una expresión regular en el segundo reemplazo, pasando una devolución de llamada como segundo argumento para transformar cada carácter coincidente.

 const x = '_postcode_pricing_manual_weekend_evening'; // Original String console.log("Original:", x); const parsedString = x .replace('_postcode_pricing','') .replace(/_(\w)/g, (_, firstChar, offset) => (offset > 0 ? ' ' : '') + firstChar.toUpperCase()); console.log(`${parsedString}:`);

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda