【问题标题】:How to remove new line from user console input如何从用户控制台输入中删除新行
【发布时间】:2012-05-19 06:26:29
【问题描述】:

如何从 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.

我希望这样的输出出现在单行中。我该怎么做?

【问题讨论】:

    标签: node.js networking input


    【解决方案1】:

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

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

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

    或者你可以使用正则表达式:

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

    【讨论】:

    • 完美。非常感谢:)
    【解决方案2】:

    在 Windows 中,您可能有 \r\n 。所以在核心中,它通常是这样完成的:

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

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

    【讨论】:

    • 我同意这一点。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-11-08
    • 1970-01-01
    • 2020-11-30
    • 2020-09-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多