如何解决通过NodeJS加载文本文件并执行Regex不起作用
有一个奇怪的问题。
尝试对文本文件进行正则表达式。以下内容将字符串与Slider文本和某些格式进行匹配。
ListOfSliderStrings
不使用FS时会返回一个列表,而是将其放入文档顶部的变量中(仅供测试)。
实际上不通过FS readFileSync()加载文档(如下所示)。
话虽如此,控制台记录FS加载的文档会显示正确的数据。
const fs = require('fs');
const path = require('path');
const yargs = require("yargs");
const options = yargs
.usage("Usage: -f <file>")
.option("f",{ alias: "file",describe: "Your file",type: "string",demandOption: true })
.argv;
let textfile = fs.readFileSync(options.file).toString();
console.log(textfile); // THIS PRINTS THE DOCUMENT,SO IT SEEMS IT IS BEING READ
let listOfSliderStrings = textfile.match(/(slider.*:.*\n)/g);
我在犯什么愚蠢的错误?
解决方法
不确定您遇到的意外行为是什么。
尝试使用字符串编码读取文本文件。
let textfile = fs.readFileSync(options.file,'utf-8').toString();
为了使用字符串的match
方法,您应该看到typeof(textfile)
是string
(为readFileSync
提供第二个参数可以做到这一点。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。