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

183
Visualizações
¿Cómo puedo buscar varias cadenas y detenerme cuando se encuentra una?

Así que tengo un fragmento de código que toma una línea de un archivo de texto y la busca en otro archivo de texto. Este es mi código:

 const searchStream = (filename, text) => { return new Promise((resolve) => { const inStream = fs.createReadStream(filename + '.txt'); const outStream = new stream; const rl = readline.createInterface(inStream, outStream); const result = []; const regEx = new RegExp(text, "i") rl.on('line', function (line) { if (line && line.search(regEx) >= 0) { result.push(line) } }); rl.on('close', function () { console.log('finished search', result) resolve(result) }); }) } searchStream('base_output', str1); searchStream('base_output', str2); searchStream('base_output', str3);

Mis preguntas son:

A. ¿Cómo realizo una búsqueda de múltiples cadenas (str1, str2, str3) porque solo lo hace para str1 y luego se detiene?

B. ¿Cómo detengo la búsqueda cuando encuentra una cadena, por ejemplo, searchStream('base_output', str1); -> str1 se encuentra en el archivo de texto, la búsqueda luego se detiene y luego se mueve a str2, luego a str3 y escribe las cadenas, por ejemplo, en otro archivo de texto.

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

A) Cuando lee una línea, puede buscar varias cadenas una por una. B) Como estamos usando múltiples sentencias if aquí en lugar de if else , la función busca cada cadena una tras otra. (PS, puede leer sobre cómo escribir en archivos en la documentación de nodejs)

 const searchStream = (filename, text, text2, text3) => { return new Promise((resolve) => { const inStream = fs.createReadStream(filename + '.txt'); const outStream = new stream; const rl = readline.createInterface(inStream, outStream); const result = []; const regEx = new RegExp(text, "i") const regEx2 = new RegExp(text2, "i") const regEx3 = new RegExp(text3, "i") rl.on('line', function (line) { if (line && line.search(regEx) >= 0) { result.push(line) } if (line && line.search(regEx2) >= 0) { result.push(line) } if (line && line.search(regEx3) >= 0) { result.push(line) } }); rl.on('close', function () { console.log('finished search', result) resolve(result) }); }) } searchStream('base_output', str1, str2, str3);
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