如果要拆分的字符串来自文本文件,则 split() 不起作用

split() not working if the string to be splitted is coming from a text file

//我可以按照下面的方式拆分字符串没有问题

var string1 = "abc def ghi";
var res = string1.split(" ");
var split1 = res[1]; // abc
var split2 = res[2]; // def
var split3 = res[3]; // ghi

//但是我必须拆分的字符串来自读取文本文件(文本) //不幸的是,这不起作用

var fs = require("fs");
fs.readFile("./mytext.txt", function(text){
var textByLine = text.split("\n")
});

var res = text.split(" ");
var split1 = res[1]; 
var split2 = res[2]; 
var split3 = res[3]; 

假设这是 Java 脚本而不是 Java 代码,问题是您正试图在回调函数之外访问 text 变量。来自 readFile 的值将仅在其回调函数内可用。

您应该使用 fs.readFileSync 直接获取值并使用它。有关使用该函数的更多详细信息,请参阅 documentation,但这应该有效:

var fs = require("fs")
var text = fs.readFileSync("./mytext.txt")
var textByLine = text.split("\n")

console.log("first line:",textByLine[0])