Verificar si existen palabra en archivo.txt

diccionario:

tengo este script, que corro en un programa llamado bot fabricante de la discordia. Estoy tratando de dar al robot la posibilidad de buscar una palabra en un archivo txt, a continuación, eliminar esta palabra y guardar el archivo:

let fs = require('fs');
let a = tempVars('a');
let b = tempVars('carte');

fs.readFile(`resources/${a}.txt`, { encoding: 'utf-8' }, (err, data) => {
  if (err) throw err;

  let dataArray = data.split('\n'); // convert file data in an array
  const searchKeyword = `${b}`; // we are looking for a line, contains, key word 'user1' in the file

  const key = dataArray.filter((arr) => arr.includes(searchKeyword));
  const index = key.length >= 1 && dataArray.indexOf(key[0]);
  if (index > -1) dataArray.splice(index, 1);

  // UPDATE FILE WITH NEW DATA
  // IN CASE YOU WANT TO UPDATE THE CONTENT IN YOUR FILE
  // THIS WILL REMOVE THE LINE CONTAINS 'user1' IN YOUR shuffle.txt FILE
  const updatedData = dataArray.join('\n');
  fs.writeFile(`resources/${a}.txt`, updatedData, (writeErr) => {
    if (writeErr) throw err;
    console.log('Successfully updated the file data');
  });
});

los tempVars ( "xx") variables están dadas por un programa llamado bot fabricante de la discordia, por lo que ningún problema con eso. Mi problema es que cuando el var "b" (que es el parámetro de un comando en discordia) existen no funciona en el archivo txt, el guión borrar la primera palabra en el archivo!

¿Cómo puedo agregar una condición a este script (b Si existen Dont en el archivo, se detiene la secuencia de comandos y devolver un mensaje)

gracias chicos muy mutch! tenga un buen día

Vadim Tor:

Puedes utilizar replaceel método sin necesidad de convertir archivos en matrices.

let fs = require('fs');
let a = tempVars('a');
let b = tempVars('carte');

fs.readFile(`resources/${a}.txt`, { encoding: 'utf-8' }, (err, data) => {
  if (err) throw err;

  const updatedData = data.replace(b, '');

  fs.writeFile(`resources/${a}.txt`, updatedData, (writeErr) => {
    if (writeErr) throw err;
    console.log('Successfully updated the file data');
  });
});

Este método sólo se sustituirá la palabra primera emparejado. En el caso, si desea reemplazar toda palabra que concordaba, como primer parámetro, puede utilizar expresiones regulares. Char ges gradas para el mundial, mes para multilínea.

const regex = new RegExp(b, 'gm')

data.replace(regex, '');

En caso de que quiera probar si el archivo contiene pidió la palabra, puede utilizar .includesla función y la ifdeclaración.

if (!data.includes(b)) {
  console.log("Requested word is not present in file")
  // Your logic here
  return
}

Supongo que te gusta

Origin http://10.200.1.11:23101/article/api/json?id=406533&siteId=1
Recomendado
Clasificación