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

179
Views
Dividir una cadena por una expresión regular en JavaScript

tengo la cadena:

 "Vl.55.16b25.3d.42b50.59b30.90.24b35.3d.56.67b70.Tv.54b30.Vl.41b35.Tv.Bd.71b50.3d.99b20.03b50.Tv.73b50.Vl.05b25.12b40.Bd.Tv.82b25."

Cómo separar obtener resultados como:

 ["Vl.55.16b25", 3d.42.b50.59b30.90.24b35, 3d.56.67b70, ...]

La lógica:

Condición 1: El Fin será inicio b y 2 número. Ejemplo: b20, b25. Si paso la condición 1, necesito verificar la condición 2.

Condición 2: tal vez como "3d" o 2 caracteres. Si no coincide con la condición 2, debemos pasar el siguiente carácter al bloque actual.

Muchas gracias.

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

0

Si entiendo su pregunta correctamente, el siguiente código debería funcionar:

 var string = "Vl.55.16b25.3d.42b50.59b30.90.24b35.3d.56.67b70.Tv.54b30.Vl.41b35.Tv.Bd.71b50.3d.99b20.03b50.Tv.73b50.Vl.05b25.12b40.Bd.Tv.82b25."; console.log(string.split(/(?<=b\d\d)\.(?=3d)/g))

Explicación:

  • (?<=) es mirar hacia atrás.
  • b coincide con el carácter literal "b".
  • \d coincide con cualquier dígito, por lo que \d\d coincidirá con dos dígitos seguidos.
  • \. coincide con un literal ".", necesita \ delante porque, de lo contrario, coincidiría con cualquier carácter.
  • (?=) es una anticipación.
  • La bandera g significa global, por lo que la cadena se dividirá en cada aparición de la expresión regular.

Esto significa que la cadena se dividirá cada vez que aparezca "." que va precedido de la letra "b", luego de dos dígitos, y seguido de "3d".

about 4 years ago · Juan Pablo Isaza Report

0

Suponiendo que desea separar al último teniendo 'b' y dos dígitos seguidos de 3d , dos dígitos o el final de la cadena (esto es necesario) y omitiendo el punto inicial, podría tomar la siguiente expresión regular.

 const string = "Vl.55.16b25.3d.42b50.59b30.90.24b35.3d.56.67b70.Tv.54b30.Vl.41b35.Tv.Bd.71b50.3d.99b20.03b50.Tv.73b50.Vl.05b25.12b40.Bd.Tv.82b25.", result = string.match(/[^.].*?b\d\d(?=\.(3d|\D\D|$))/g); console.log(result);

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!