Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

168
Visualizações
Análisis de plantilla de cadena de Javascript para palabras clave

Tengo una plantilla de cadena con pocas palabras clave dinámicas como:

I am {{name}} from {{city}}

Para una cadena de entrada dada, quiero compararla con la plantilla y extraer el nombre y la ciudad de la entrada en Javascript. P.ej. input I am Alex from Paris . Debería darme el nombre de Alex y la ciudad de París .

¿Existe alguna forma estándar de realizar tales operaciones en Javascript?

about 4 years ago · Juan Pablo Isaza
3 Respostas
Responde à pergunta

0

Un enfoque podría ser el uso de expresiones regulares. Como ya conoce la estructura de la cadena, puede agrupar partes de la cadena y extraer siempre la misma parte. Una desventaja es que necesita actualizar la expresión regular cada vez que actualice la cadena de plantilla.

Por ejemplo:

Usando la siguiente expresión regular:

 ^(I am )(.*)( from )(.*)$

Dará como resultado 4 grupos. El segundo grupo será el valor del nombre y el cuarto grupo será el valor de la ciudad .

Véalo en acción con algunos ejemplos en https://regex101.com/r/7tl7Ap/1

about 4 years ago · Juan Pablo Isaza Relatório

0

Si tiene control sobre su plantilla, puede convertirla en una expresión regular para usar grupos de captura con nombre (?<groupName>) y luego usar .match() en su cadena para obtener los grupos coincidentes:

 const template = /^I am (?<name>[^ ]+) from (?<city>[^ ]+)$/; const str = "I am Alex from Paris"; const {groups} = str.match(template); console.log(groups);

También puede analizar su plantilla en la expresión regular anterior si necesita mantenerla como una cadena, pero es posible que deba escapar si un usuario proporciona la plantilla. Pequeño ejemplo:

 const templateToRegExp = (strTemplate) => { const regTemp = strTemplate.replace(/{{([^}}]+)}}/g, "(?<$1>[^ ]+)"); return new RegExp(`^${regTemp}$`); } const template = "I am {{name}} from {{city}}"; const regexp = templateToRegExp(template); const str = "I am Alex from Paris"; const {groups} = str.match(regexp); console.log(groups);

about 4 years ago · Juan Pablo Isaza Relatório

0

usamos literales de plantilla en tales casos. En lugar de usar comillas simples o dobles, defina la cadena con (`) y pase la variable con un signo de dólar ($)

Por ejemplo: `I am ${name} from ${city}`

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda