如何从用户控制台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()
函数也可能是有用的。