如何从用户控制台input删除新行

如何从Node.js中的用户input中删除新行?

代码:

var net = require("net"); var clientData = null; var server = net.createServer(function(client) { client.on("connect", function() { client.write("Enter something: "); }); client.on("data", function(data) { var clientData = data; if (clientData != null) { client.write("You entered " + "'" + clientData + "'" + ". Some more text."); } }); }); server.listen(4444); 

比方说,我在控制台中键入“testing”,然后返回以下内容:

 You entered 'Test '. Some more text. 

我希望这样的输出出现在单行中。 我怎样才能做到这一点?

你只需要去掉尾随的新行。

你可以像这样剪掉最后一个字符:

 clientData.slice(0, clientData.length - 1) 

或者你可以使用正则expression式:

 clientData.replace(/\n$/, '') 

在Windows中,您可能有\ r \ n在那里。 所以在核心,经常这样做:

 clientData.replace(/(\n|\r)+$/, '') 

顺便说一句, clientData.trim()函数也可能是有用的。