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

117
Views
Tome caracteres antes de una palabra específica en cadena/cookie

Tengo una cookie (_gaexp), de la que quiero extraer valores:

GAX1.3.yK3HnOfSRZCVUMNkK3tVCA.18961.ss12!QV1ffpISQcCGmM4IOTuUlQ.18961.0!F9l4roGRR5K03cSaZMWQiA.18961.1

Específicamente, quiero extraer los caracteres, solo antes de 18961 , lo cual puedo hacer.
Pero no quiero que se incluya GAX1.3 en mi resultado.

Por ejemplo, tengo el siguiente código:

 let read = readCookie("_gaexp").split("!"); read.forEach(function(key, index) { splitBeginningOfCookie = read[0].split('.') optimizeID = splitBeginningOfCookie[3]; let variantID = key.split(optimizeID+".")[1]; let id = key.split("."+optimizeID)[0]; console.log("variantID", variantID); console.log("id", id); });

Qué consola.registros:

 variantID ss12 id GAX1.3.yK3HnOfSRZCVUMNkK3tVCA variantID 0 id QV1ffpISQcCGmM4IOTuUlQ 8 variantID 1 id F9l4roGRR5K03cSaZMWQiA

Quiero excluir GA1.3. aunque desde el primer bucle. ¿Cuál es la mejor manera de obtener solo los ID largos de esta cadena?

Los últimos 2 bucles están bien. Es solo el primero, que devuelve todo antes 18961 .

Gracias,

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

0

En lugar de usar split() , podría usar una expresión regular para tomar las dos secciones alrededor .18961. . En este escenario, podría usar la expresión regular:

 ([^.]+)\.18961\.([^.]+)

diagrama de expresiones regulares
Regexper.com

 const cookie = "GAX1.3.yK3HnOfSRZCVUMNkK3tVCA.18961.ss12!QV1ffpISQcCGmM4IOTuUlQ.18961.0!F9l4roGRR5K03cSaZMWQiA.18961.1"; const regex = /([^.]+)\.18961\.([^.]+)/; const read = cookie.split("!"); read.forEach((part, index) => { const [_, id, variantID] = part.match(regex); console.log("variantID", variantID); console.log("id", id); });

about 4 years ago · Juan Pablo Isaza Report

0

Prueba esto.

 var v = 'GAX1.3.yK3HnOfSRZCVUMNkK3tVCA'; var result = v.replace('GA','').replace('1.3.',''); console.log(result);
about 4 years ago · Juan Pablo Isaza Report

0

Tal vez con la ayuda de RegExp:

 const data = "GAX1.3.yK3HnOfSRZCVUMNkK3tVCA.18961.ss12!QV1ffpISQcCGmM4IOTuUlQ.18961.0!F9l4roGRR5K03cSaZMWQiA.18961.1"; const reg = /([^.!]+)\.18961\.([^!]+)/g; const result = {}; let d; while((d = reg.exec(data))) result[d[1]] = d[2]; console.log(result);

O usando matchAll()

 const data = "GAX1.3.yK3HnOfSRZCVUMNkK3tVCA.18961.ss12!QV1ffpISQcCGmM4IOTuUlQ.18961.0!F9l4roGRR5K03cSaZMWQiA.18961.1"; const reg = /([^.!]+)\.18961\.([^!]+)/g; const result = [...data.matchAll(reg)].reduce((r,a)=>{return r[a[1]]=a[2],r},{}); 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!