javascript - 删除txt文件中某个字符后的所有内容
问题描述
你好,我是编码新手,我需要你的帮助,我试图过滤一个 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);
推荐阅读
- function - 在 Golang 中使用类型别名声明函数
- python - 为什么同一类的两个实例会获得相同的实例变量更改?
- javascript - 如何仅基于路径的一部分重定向 url?
- php - 如何将位保存到sql中?
- python - 如何在我的 LSTM 算法中使用 batch_size?
- python - 使用带有 Flask 的 Application Factory 时如何在“app”上放置装饰器?
- python - pyspark json读取忽略空集
- javascript - 导出多个带参数的函数
- mysql - 如何在mysql usinf while循环中插入日期时间值
- flutter - 在 Dart 的主线程中强制执行