Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

159
Visualizações
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 Respostas
Responde à pergunta

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 Relatório

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda