-
[ NodeJS ] 비속어 필터링 로직(csv 파일에서 추출)카테고리 없음 2022. 11. 13. 13:57반응형
fWordsFilter.js
- global.js 에 추가해준다.
const fWordsFilter = require('./utils/fWordsFilter');
const path = require('path'); const fs = require('fs'); const checkFWords = function (message) { const filePath = path.join(__dirname, 'fWordsList.csv'); var data = fs.readFileSync(filePath, { encoding: 'utf8' }); var rows = data.split('\n'); var result = []; for (let rowIndex in rows) { let row = rows[rowIndex].split(','); if (rowIndex === '0') { var columns = row; } else { var data = ''; // 여기에 데이터를 추가한다. for (var columnIndex in columns) { // 칼럼 갯수만큼 돌면서 적절한 데이터 추가하기. var column = columns[columnIndex]; data = row[columnIndex]; } result.push(data); } } let regex; let sum = ''; for (let i = 0; i < result.length; i++) { sum = sum + result[i] + '|'; } regex = new RegExp(sum, 'g'); // console.log('sum :', sum); // console.log('regex :', regex); if (message.match(regex)[0] !== '') { return true; } else { return false; } }; module.exports = { checkFWords, };
반응형