如何从用户控制台输入中删除新行

Posted

技术标签:

【中文标题】如何从用户控制台输入中删除新行【英文标题】: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.

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

【问题讨论】:

【参考方案1】:

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

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

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

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

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

【讨论】:

完美。非常感谢:)【参考方案2】:

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

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

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

【讨论】:

我同意这一点。

以上是关于如何从用户控制台输入中删除新行的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Chrome 控制台窗口中开始新行?

如何从 Google Play 商店开发者控制台中删除应用内产品

在 windows 控制台中排队

如何从java控制台获得用户输入?

如何从java控制台获得用户输入?

如何从 c# 控制台应用程序中的用户输入创建多个对象?