你好,我是编码新手,我需要你的帮助,我正在尝试过滤 txt 文件并以我喜欢的格式创建列表
这是原始 txt 文件的样子:
pepitbeng:davy141089 | LV: 5 | BE: 1017 | RP: 400 | Refunds: 3 | Champs: 1 | Skins: 0 | Email Verified: true | Lastplay: Error
korvin918:M5al3elu2z6k | LV: 41 | BE: 2065 | RP: 23 | Refunds: 1 | Champs: 57 | Skins: 23 | Email Verified: true | Lastplay: 1/11/2019 7:02:15 PM
monkeyshadowtms:apolo2002 | LV: 21 | BE: 6795 | RP: 0 | Refunds: 3 | Champs: 10 | Skins: 0 | Email Verified: true | Lastplay: 7/25/2019 5:00:15 PM
而且有数千个
我喜欢做的是逐行删除空格后的所有内容,只留下 id 和密码,最终结果如下
pepitbeng:davy141089
korvin918:M5al3elu2z6k
monkeyshadowtms:apolo2002
我尝试了一些东西,但只能得到第一行,
var fs = require('fs');
var textByLine = fs.readFileSync('1.txt').toString().split(" ");
console.log(textByLine[0]);
这样我可以得到pepitbeng:davy141089,但无法到达第二行,因为它们之后的所有内容都被删除了,所以我怎样才能得到每行的0数组
我也试试这个
var fs = require('fs');
var textByLine = fs.readFileSync('1.txt').toString().split("\n");
console.log(textByLine[0]);
这样我就可以逐行获取上面代码的全部结果
pepitbeng:davy141089 | LV: 5 | BE: 1017 | RP: 400 | Refunds: 3 | Champs: 1 | Skins: 0 | Email Verified: true | Lastplay: Error
我觉得我应该使用 forEach() 函数,但我不知道如何实现这个等待你的回复谢谢。
抱歉打扰,我已解决
var fs = require('fs');
var textByLine = fs.readFileSync('1.txt').toString().split("\n");
console.log(textByLine[0].split(" ")[0]);
希望能帮助别人
最佳答案
您可以使用正则表达式来匹配行开头的非空格:
var fs = require('fs');
var lines = fs.readFileSync('1.txt')
.toString()
.split("\n")
.map(line => line.match(/\S*/)[0]);
\S
匹配非空格字符,*
重复器匹配一行中尽可能多的这些字符。
const text = `pepitbeng:davy141089 | LV: 5 | BE: 1017 | RP: 400 | Refunds: 3 | Champs: 1 | Skins: 0 | Email Verified: true | Lastplay: Error
korvin918:M5al3elu2z6k | LV: 41 | BE: 2065 | RP: 23 | Refunds: 1 | Champs: 57 | Skins: 23 | Email Verified: true | Lastplay: 1/11/2019 7:02:15 PM
monkeyshadowtms:apolo2002 | LV: 21 | BE: 6795 | RP: 0 | Refunds: 3 | Champs: 10 | Skins: 0 | Email Verified: true | Lastplay: 7/25/2019 5:00:15 PM`;
var lines = text
.split("\n")
.map(line => line.match(/\S*/)[0]);
console.log(lines);
如果您的输出需要是字符串,请将空格后面的所有内容替换为空字符串:
const text = `pepitbeng:davy141089 | LV: 5 | BE: 1017 | RP: 400 | Refunds: 3 | Champs: 1 | Skins: 0 | Email Verified: true | Lastplay: Error
korvin918:M5al3elu2z6k | LV: 41 | BE: 2065 | RP: 23 | Refunds: 1 | Champs: 57 | Skins: 23 | Email Verified: true | Lastplay: 1/11/2019 7:02:15 PM
monkeyshadowtms:apolo2002 | LV: 21 | BE: 6795 | RP: 0 | Refunds: 3 | Champs: 10 | Skins: 0 | Email Verified: true | Lastplay: 7/25/2019 5:00:15 PM`;
const newText = text.replace(/ .*/g, '');
console.log(newText);
关于javascript - 删除txt文件中某个字符后面的所有内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61070956/