以下列方式(对我来说)在NodeJS脚本中使用process
和util
甚至在修剪之后,也会在结果字符串中产生结尾(请参见以下代码中的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()
呼叫看到反斜杠以及r
和n
,没有空格可以删除。您需要的是
text = text.trim(); // or .replace(/(\r\n|\r|\n)+$/, "")
var fileCon = util.inspect(text);
console.log(fileCon);