我是一个有SAP背景的nodejs学习者,在过去的几个星期里,我正在尝试捕获一个位于文本文件中两个字符串之间的数字。 我试图通过阅读许多示例代码来进行整理,但没有成功,看起来需要学习很多nodejs的概念。 你能帮忙写代码吗。 我尝试了下面的代码,它只是部分代码。
要求:-TextFile具有如下所示的数据,要读取文件以捕获介于“fetch:”和“records”之间的数字,并将该数字写入另一个文本文件。
27.07.202010:19:091个LUWs已确认,1个LUWs将通过函数模块27.07.202010:19:10OPEN_CURSOR JOIN_FLEXA_BKPF
27.07.202010:19:10FETCH:1000条记录
27.07.202010:19:10OPEN_CURSOR JOIN_FLEXA_BKPF
27.07.202010:19:10FETCH:193条记录
27.07.202010:19:10OPEN_CURSOR JOIN_FLEXA_BKPF
27.07.202010:19:10 FETCH:500条记录
我自己写的代码:-我可以逐行阅读,但不能得到作为如何捕获的数字。
const readline = require('readline');
const readInterface = readline.createInterface({
input : fs.createReadStream('BIREQFILE.txt'),
output : process.stdout,
console : false
});
readInterface.on('line',function(line){
const extractNumbersFromString = line.match(/-?\d+/g);
fs.writeFile('output.txt',extractNumbersFromString);
});
感谢(&S; 问候
LN
您的正则表达式需要更改为Line.match(/(?<=(fetch:))\d+/g)
null
const line = "27.07.2020|10:19:10|FETCH:1000 RECORDS"
const extractNumbersFromString = line.match(/(?<=(FETCH:))\d+/g)
console.log(extractNumbersFromString) // outputs ["1000"]