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

213
Vistas
Conservar espacios mencionados en formato de cadena
const person = { name: 'John', middle: 'S', last: 'Smith' } const format = "{​​​​​​​ name }​​​​​​​ {​​​​​​​​ ​​​​​​middle }​​​​​​​​​​​​​​ {​​​​​​​​​​​​​​ last}​​​​​​​​​​​​​";

Las llaves actúan como un marcador de posición para valores dinámicos. i:e {name} se reemplazará con John , {middle} con S .

El problema al que me enfrento es con la preservación de los espacios entre el formato. i:e si existen dos espacios en {name} {middle} , entonces la salida debería ser John S .

Estoy reemplazando el marcador de posición con valores reales y uniéndolo con el espacio único, pero siempre sería estático.

 const person = { name: 'John', middle: 'S', last: 'Smith' } const format = "{​​​​​​​ name }​​​​​​​ {​​​​​​​​ ​​​​​​ middle }​​​​​​​​​​​​​​ {​​​​​​​​​​​​​​ last}​​​​​​​​​​​​​"; function formatStr(obj, format) { return format.match(/\b\w+\b/g).map((s) => person[s]).join(' '); } console.log(formatStr(person, format));

La ayuda sería muy apreciada :)

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

0

Puede usar una operación .replace , haciendo coincidir las subcadenas entre {...} con una palabra dentro y reemplazándolas con los valores del objeto person , si existen.

 const person = { name: 'John', middle: 'S', last: 'Smith' } const format = "{​​​​​​​ name }​​​​​​​ {​​​​​​​​ ​​​​​​ middle }​​​​​​​​​​​​​​ {​​​​​​​​​​​​​​ last}​​​​​​​​​​​​​"; function formatStr(obj, format) { return format.replace(/\{[^\w{}]*(\w+)[^\w{}]*}/g, (x,y) => person[y] ?? x); } console.log(formatStr(person, format));

Esto mantendrá todos los espacios y otros caracteres entre } y { .

Vea la demostración de expresiones regulares . Detalles :

  • \{ - un { carácter
  • [^\w{}]* - cero o más caracteres que no sean palabras que no sean { y }
  • (\w+) - Grupo 1: uno o más caracteres de palabra
  • [^\w{}]* - cero o más caracteres que no sean palabras que no sean { y }
  • } - un } carácter.
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