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

153
Views
Eliminar parte de la cadena usando expresiones regulares y reemplazar

proporcione una cadena como esta (puede ser cualquier patrón, pero el siguiente formato):

lastname/firstname/_/country/postalCode/_/regionId/city/addressFirst/addressSecond/_/phone

Estoy creando una función que, cuando paso algunas partes de la dirección, la función devolverá esas partes y eliminará las partes adicionales que no se solicitan y mantendrá un espacio _ , si se eliminaron muchas:

FE :

ej:

 input : ["country", "postalCode"] return "country/postalCode
 input : ["lastname", "firstname", "regionId"] return "lastname/firstname/_/regionId"
 input : ["firstname", "country", "regionId", "city"] return "firstname/_/country/_/regionId/city"
 input : ["country", "regionId", "phone"] return "country/_/regionId/_/phone"

Ahora, mi método es el siguiente:

 type AddressPart = "firstname" | "lastname" | ... | "phone"; const allAddressParts = ["firstname", "lastname", ... ,"phone"]; static getAddress( format = "lastname/firstname/_/country/postalCode/_/regionId/city/addressFirst/addressSecond/_/phone" parts: AddressPart[], ) { const toRemove = allAddressParts.filter((part) => !parts.includes(part)); toRemove.forEach((part) => { format = format .replace(`_/${part}/_`, '_') .replace(new RegExp(part + '/?'), ''); }); return format; }

lo anterior se ve bien, pero falla al final y comienza:

_/country/postalCode/_/regionId/city/addressFirst/addressSecond/_/

¿Cómo puedo eliminar /_/ o _/ si está situado al inicio o al final sin volver a recorrer la matriz?

about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

Puede usar expresiones regulares en la cadena final para eliminar los símbolos no deseados iniciales y finales

La primera expresión regular busca:

  • Comienzo de la cadena, con el símbolo ^

  • Uno o más "_/", usando

    paréntesis para agrupar el par de caracteres,

    el signo + para permitir 1 o más, y

    una barra invertida para escapar de la barra inclinada

Y la segunda expresión regular busca:

  • a "/"
  • cero o más "_/", con el *
  • el final de la cadena con el símbolo $

 s1 = "_/country/postalCode/_/regionId/city/addressFirst/addressSecond/_/" s2 = s1.replace(/^(_\/)+/,"").replace(/\/(_\/)*$/,"") console.log(s2)

Usted puede ser capaz de simplificar

Si sabe con certeza que no habrá más de un "_" al principio y uno al final, no necesita los paréntesis y los símbolos + / * .

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!