我在用着let names = fs.readFileSync(namefile).toString().split("\n")。每当我这样做时
for(const name of names) {
console.log(`First Name: ${name.split(" ")[0]} Last Name: ${name.split(" ")[1]}
}
Run Code Online (Sandbox Code Playgroud)
姓氏部分总是\r在末尾,如何使其不添加\r?
fs.readFileSync不会在行尾添加任何内容,
相反,您尝试读取的文件使用CRLF行结尾,这意味着每一行都以\r\n序列结尾。
实际上你的文件看起来像这样:
line1\r\nline2\r\nline3\r\n
Run Code Online (Sandbox Code Playgroud)
但是您的文本编辑器会对您隐藏这些字符。
这是特定于 IDE 的,但如果您使用 Visual Studio Code,您可以在右下角找到该选项。
单击它将允许您更改为LF行结尾,即行后面跟着单个字符的序列\n。
\r字符根据您的示例,我们可以用来.replace删除任何\r字符。
let names = fs.readFileSync(namefile)
.toString()
.replace(/\r/g, "")
.split("\n")
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2291 次 |
| 最近记录: |