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

756
Vistas
Usar expresiones regulares para obtener todas las consonantes hasta que aparezca una vocal

Estoy tratando de crear una función de orden superior que haga dos cosas.

Primero: verificaría la primera letra de una cadena si es una vocal, si lo es, se agregaría al final de la cadena 'camino'.

Lo he hecho con este código:

 const vowel = /[aeiou]/; const consonant = /^[^aeiou]/gi; const chaVow = 'way'; const chaCon = 'ay'; function pigLatinVowel(str) { if (!str.charAt(0) == vowel) { return str } else { return str.concat(chaVow) } } console.log(pigLatinVowel("algorithm"));

Luego, necesito codificar para ejecutar una tarea específica mientras busco consonantes en su lugar. Tiene que verificar si la primera letra (o grupo de letras) de una cadena es una consonante, empujarla hasta el final de la cadena y agregar la cadena 'ay'. Tengo problemas con la expresión regular, no es exactamente lo que estoy buscando, pero estoy completamente perdido. Aquí va el código que estoy usando hasta ahora:

 const vowel = /[aeiou]/; const consonant = /^[^aeiou]/gi; const chaVow = 'way'; const chaCon = 'ay'; function pigLatinConsonant(str) { str = str.split(''); let filtered = str.filter(a => a.match(consonant)); return filtered; } console.log(pigLatinConsonant("glove"));

Idealmente, la expresión regular se detendría en la primera vocal para que no me dé esta salida: [ 'g', 'l', 'v' ]

Obviamente, la función aún no está terminada y todavía queda trabajo por hacer. No quiero la respuesta completa sobre cómo haría para crear el HoF y el resto, estoy aprendiendo a través de un curso @FreeCodeCamp y soy terco al respecto, pero estoy fallando miserablemente en este paso :(.

Tal vez estoy fallando en algún otro lado, pero hasta ahora esta función me está volviendo loco.

¡Ayuda muy apreciada!

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

0

Use una expresión regular que coincida con una secuencia de consonantes al comienzo de una cadena:

 function startingConsonants(string) { let m = string.match(/^[^aeiou]+/); return m && m[0]; }
about 4 years ago · Juan Pablo Isaza Denunciar

0

Puede usar una expresión regular con un grupo de captura para obtener todas las consonantes antes de la primera vocal en la cadena /^([^aeiou]+)[aeiou]/i . Luego basa tu lógica en el resultado de match()

 const atternpay = /^([^aeiou]+)[aeiou]/i; const chaVow = 'way'; const chaCon = 'ay'; function pigLatinConsonant(str) { let con_prefix = str.match(atternpay); if (null === con_prefix) return str + chaVow; return str.substring(con_prefix[1].length) + con_prefix[1] + chaCon } console.log(pigLatinConsonant("glove")); console.log(pigLatinConsonant("also"));

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