以下列方式(对我来说)在NodeJS脚本中使用processutil甚至在修剪之后,也会在结果字符串中产生结尾(请参见以下代码中的console.log())。我不确定为什么会这样?

var util = require("util");
process.stdin.resume();
process.setEncoding = "utf-8";
process.stdin.on('data', function (text) {
   var fileCon = util.inspect(text);
   fileCon = fileCon.trim();
   /* and even .replace(/(\r\n|\r|\n)/, "") and .replace(/(\r\n|\r|\n)+$/, "") */
   console.log(fileCon); //((user's input))\r\n (on Windows)
});


我不知道为什么换行符仍然存在于字符串中。

帮助将不胜感激。

[额外信息]

node -v = v. 0.12.7

最佳答案

您的问题是util.inspect确实删除了换行符,并在trim可以执行换行符之前将它们替换为转义序列。您的fileCon.trim()呼叫看到反斜杠以及rn,没有空格可以删除。您需要的是

text = text.trim(); // or .replace(/(\r\n|\r|\n)+$/, "")
var fileCon = util.inspect(text);
console.log(fileCon);

09-20 09:56