Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

766
Views
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 answers
Answer question

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 Report

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!