如何从Node.js中的用户输入中删除新行?
代码:
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);
假设我在控制台中键入“Test”,然后返回以下内容:
You entered 'Test
'. Some more text.
我希望这样的输出出现在单行中。我怎么能这样做?
答案 0 :(得分:21)
你只需要删除尾随的新行。
您可以剪切最后一个字符:
clientData.slice(0, clientData.length - 1)
或者您可以使用正则表达式:
clientData.replace(/\n$/, '')
答案 1 :(得分:16)
在Windows中,你可能有\ r \ n。所以在核心中,它通常是这样做的:
clientData.replace(/(\n|\r)+$/, '')
BTW,clientData.trim()
功能也可能有用。