Чистка файла от слов из блек-листа.



  • Есть файл spisok.txt в нем 1000 строк, как из него очистить только те строки которые есть в файле black_list.txt

    Как пример
    Содержание файла black_list.txt

    поэт
    гордой головой
    мелочных обид
    как прежде


    Содержание файла spisok.txt

    Погиб поэт! — невольник чести —
    Пал, оклеветанный молвой,
    С свинцом в груди и жаждой мести,
    Поникнув гордой головой!..
    Не вынесла душа поэта
    Позора мелочных обид,
    Восстал он против мнений света
    Один, как прежде… и убит!
    Убит!.. К чему теперь рыданья,
    Пустых похвал ненужный хор
    И жалкий лепет оправданья?
    Судьбы свершился приговор!





  • @UserTrue

    Сделал
    Выполнить код:
    [[BLACK_LIST]].filter(function(e){return [[LIST_WITH_FILE_CONTENT]].indexOf(e) < 0}).length==0

    11й.jpg
    но список LIST_WITH_FILE_CONTENT - не очистился от содержащихся в блек-листе слов



  • @mik888em said in Чистка файла от слов из блек-листа.:

    [[BLACK_LIST]].filter(function(e){return [[LIST_WITH_FILE_CONTENT]].indexOf(e) < 0}).length==0

    [[LIST_WITH_FILE_CONTENT]] = [[LIST_WITH_FILE_CONTENT]].filter(function(e){
     return [[BLACK_LIST]].indexOf(e) < 0
    })
    


  • @UserTrue said in Чистка файла от слов из блек-листа.:

    [[LIST_WITH_FILE_CONTENT]] = [[LIST_WITH_FILE_CONTENT]].filter(function(e){
    return [[BLACK_LIST]].indexOf(e) < 0
    })

    Он удаляет только если в строке это указанное в блеклисте слово/символ стоят, и ничего другого нет , но если в этой строке что-то еще есть кроме "блеклистного" слова/символа, то он не удаляет в этой строке ничего, А нужно елси найдет в этой строке "блеклистное" слово, то удаляет всю строку.

    Пробовал так же реализовать через асинхронную функцию и удаление внутри функции по "Удалить по значению" но таже проблема что он не удалет вобще ничего из строки, если в строке есть еще что-то помимо "блеклистного" слова/символа



  • готовый рабочий код, может кому будет полезно:

    [[LIST_WITH_FILE_CONTENT]] = [[LIST_WITH_FILE_CONTENT]].filter(function(line){
      return [[BLACK_LIST]].every(function(forbiddenWord) {
        return line.indexOf(forbiddenWord) === -1; 
      });
    });
    

Log in to reply