所以我有一個文本檔案test.txt,其行類似于:
08/12/2021
test1
test2
test3
... (some entries)
12/12/2021
test21
test22
test23
... (some entries)
24/12/2021
接下來我應該寫什么來過濾文本檔案以獲取兩個最新日期之間的行?
const fs = require('fs');
fs.watchFile('test.txt', (eventType, filename) => {
fs.readFile('test.txt', 'utf-8', (err, data) => {
const arr = data.toString().replace(/\r\n/g,'\n').split('\n');
...
輸出將是這樣的:
test21
test22
test23
... (some entries)
這是兩個最新日期之間的條目。
更新:文本檔案實際上不斷地寫入條目,并將在一天結束時輸入當前日期。現在我正在嘗試提取上一個和最新日期之間的條目以進行進一步處理
uj5u.com熱心網友回復:
我不知道 javascript,但看起來你看起來像這個 有沒有辦法在兩個日期之間找到資料,這些資料在同一個字串中預發送并將其存盤到 json 物件
uj5u.com熱心網友回復:
您可以做一件事,找到 indexOf 開始日期和結束日期,然后您可以對內容進行切片。你可以這樣做:
try {
const data = fs.readFileSync('test.txt', {encoding:'utf8', flag:'r'}),
start = data.indexOf('start date'),
end = data.lastIndexOf('end data');
const trimText = data.slice(start, end);
} catch(e) {
console.log(e)
}
如果檔案很大,我們需要異步讀取它并在讀取它時檢查開始和結束日期,則此方法適用于小檔案。
uj5u.com熱心網友回復:
const test_data = `08/12/2021
test0
test2
test3
12/12/2021`;
console.log(
test_data.split(/\d \/\d \/\d \n?/g).slice(1, -1)
);
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/377433.html
標籤:javascript 节点.js FS
