Найти строку и удалить строку - Node.JS - PullRequest
0 голосов
/ 23 октября 2018

Как читать файл, искать строку и удалять строку в node.js?Я пытался

var fs = require('fs')
fs.readFile('shuffle.txt', function read(err, data) {
if (err) {
throw err;
}

lastIndex = function(){
for (var i = data_array.length - 1; i > -1; i--)
if (data_array[i].match('user1'))
return i;
}()

delete data_array[lastIndex];

});

1 Ответ

0 голосов
/ 23 октября 2018

Допустим, у нас есть текстовый файл, shuffle.txt содержит следующее содержимое

john
doe
user1 
some keyword
last word

Теперь мы читаем файл shuffle.txt и затем ищемдля ключевого слова ' user1 '.Если какая-либо строка содержит ' user1 ', то мы удалим ее.

var fs = require('fs')
fs.readFile('shuffle.txt', {encoding: 'utf-8'}, function(err, data) {
    if (err) throw error;

    let dataArray = data.split('\n'); // convert file data in an array
    const searchKeyword = 'user1'; // we are looking for a line, contains, key word 'user1' in the file
    let lastIndex = -1; // let say, we have not found the keyword

    for (let index=0; index<dataArray.length; index++) {
        if (dataArray[index].includes(searchKeyword)) { // check if a line contains the 'user1' keyword
            lastIndex = index; // found a line includes a 'user1' keyword
            break; 
        }
    }

    dataArray.splice(lastIndex, 1); // remove the keyword 'user1' from the data Array

    // 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('shuffle.txt', updatedData, (err) => {
        if (err) throw err;
        console.log ('Successfully updated the file data');
    });

});

Здесь, если строка содержит ключевое слово ' user1 ', мыудаляя всю строку.Новый файл shuffle.txt больше не будет содержать строку с ключевым словом user1.Обновленный файл shuffle.txt выглядит как

john
doe
some keyword
last word

Для получения дополнительной информации проверьте doc .

...