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

157
Vistas
Resume el texto y pega todas las letras

Tengo un texto y quiero resumirlo, quiero cambiar esta matriz:

matriz 1

 [ 'CALX', '11.10', '21', '01', '08', 'EGLD', 'USDT', 'LDFDFC', 'ZONE', '238.5', '233', 'LEVERAGE', '3', 'X', 'TARGET', '1', '243.9', 'TARGET', '2', '248', 'TARGET', '3', '254', 'TARGET', '4', '260', 'H', 'GD', 'S', 'AFCA' ]

a esto: Matriz 2

 [ 'CALX', '11.10', '21', '01', '08', 'EGLDUSDTLDFDFCZONE', '238.5', '233', 'LEVERAGE', '3', 'XTARGET', '1', '243.9', 'TARGET', '2', '248', 'TARGET', '3', '254', 'TARGET', '4', '260', 'HGDSAFCA', ]

como puede ver, quiero que todas las letras se mantengan juntas hasta que lleguen a un número, y cada número debe estar en un elemento de la matriz

Este es el código que se puede usar para convertir texto en un Array1

 const input = 'CALX, [11.10.21 01:08] $EGLD/USDT #Ldfdfc zone : 238.5 - 233 "LEVERAGE" : 3x TARGET1 : 243.9 TARGET 2 : 248 TARGET 3 : 254 TARGET 4 : 260 h.gd.s afca. `~!@#$%^&*()_-+=-/?><' const text = text.toUpperCase().match(/[az]+|\d+(?:\.\d+)?/gi);

Entonces, ¿cómo puedo cambiar Array1 a Array2 ?

lo siento por mi inglés y gracias por su ayuda.

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

0

Según la cadena inicial, para obtener la matriz deseada como salida, no tiene que convertirla en una matriz para procesarla nuevamente.

Puedes usar un patrón similar al que probaste con una alternancia | pero en lugar de hacer coincidir [az]+ , puede capturar 1 o más dígitos usando (\D+) en un grupo.

Luego, en la devolución de llamada de reemplazo, puede eliminar los caracteres no deseados si hay una coincidencia para el grupo 1. Los caracteres no deseados son [\W_]+ o uno más caracteres que no son palabras, incluido el guión bajo.

Si no hay un grupo, puede devolver la coincidencia (los dígitos) entre los delimitadores, donde luego puede dividir los delimitadores para crear la matriz final.

 const input = 'CALX, [11.10.21 01:08] $EGLD/USDT #Ldfdfc zone : 238.5 - 233 "LEVERAGE" : 3x TARGET1 : 243.9 TARGET 2 : 248 TARGET 3 : 254 TARGET 4 : 260 h.gd.s afca. `~!@#$%^&*()_-+=-/?><' text = input .toUpperCase() .replace(/\d+(?:\.\d+)?|(\D+)/g, (m, g1) => g1 ? g1.replace(/[\W_]+/g, '') : `#${m}#` ); console.log(text.split(/#+/));

about 4 years ago · Juan Pablo Isaza Denunciar

0

Una de las soluciones podría verse así:

 let arr = [ 'CALX', '11.10', '21', '01', '08', 'EGLD', 'USDT', 'LDFDFC', 'ZONE', '238.5', '233', 'LEVERAGE', '3', 'X', 'TARGET', '1', '243.9', 'TARGET', '2', '248', 'TARGET', '3', '254', 'TARGET', '4', '260', 'H', 'GD', 'S', 'AFCA' ] function handleArray(a) { let result = []; let stringItem = ''; a.forEach((el) => { // If number then check if we have previous string and push // it to the result. // Also push number as next element if (/\d/.test(el)) { if (stringItem) { result.push(stringItem); // Clear string variable stringItem = ''; } result.push(el) } else { // Concat ongoing string, don't push to result stringItem += el; } }) return result; } console.log(handleArray(arr))

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